Part Number Hot Search : 
HCT40 TZM5250B IDT74 FD400D1C BOARD SLE4520 BFR92 S2305
Product Description
Full Text Search
 

To Download SII3114 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  sii 3114 pci to serial ata controller data sheet document # sii -ds-0103-d data sheet
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d ii ? 2007 silicon image, inc. february 2007 copyright notice copyright ? 2007 silicon image, inc. a ll rights reserved. these materials contain proprietary and confidential information (including trade secrets, copyright and other in terests) of silicon image, inc. you may not use these materials except only for your bona fide non-commercial evaluation of your potent ial purchase of products and/services from silicon image or its affiliates, and/or only in connection with your purchase of products and/or services from silicon image or its affiliates, and only in accordance with the terms and conditions herein. you have no right to copy, modify, transfer, sublicense, publicly display, create der ivative works of or distribute these materials, or otherwise make these materials avail able, in whole or in part, to any third party. trademark acknowledgment silicon image?, vastlane?, steelvine?, pinnaclear?, simplay?, simplay hd?, satalink?, and tmds? are trademarks or registered trademarks of silicon image, inc. in the united states and other countries. hdmi?, the hdmi logo and high-definition multimedia interface? ar e trademarks or registered trademarks of, and are used under license from, hdmi licensing, llc. further information to request other materials, documentation, and information, contact your local silicon image, inc. sales office or visit the silicon image, inc. web site at www.siliconimage.com. revision history ? 2007 silicon image. inc. revision date comment a 09/08/03 derived from prelim inary datasheet rev 0.65. a1 10/16/03 updated table 2-6 serdes reference clock input requirements; updat ed table 2-1 absolute maximum ratings; corrected inconsistent s entences (minor fixes including mistyping) a2 10/30/03 updated section 8.2 seri al ata device initialization a3 02/05/04 corrected part number on cover page to sii 3114ct176 from sii 3114ct144 a4 04/05/05 updated the part number on cover page to sii 3114 from sii 3114ct176; added part ordering number in section 4. package drawing; updated marking specif ication in section 4. package drawing b 07/21/06 corrected inconsis tent sentences (minor fixes including mistyping); updated sii company logo c 11/29/06 this datasheet is no longer under nda. removed confidential markings d 02/23/07 new formatting appli ed throughout entire document.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. iii sii -ds-0103-d table of contents overview ....................................................................................................................... ................................. 1 key bene fits ................................................................................................................... ........................... 1 featur es ....................................................................................................................... .............................. 1 overall f eatur es ............................................................................................................... ....................... 1 pci feat ures ................................................................................................................... ........................ 1 serial ata featur es ............................................................................................................ ..................... 1 other f eatur es ................................................................................................................. ....................... 2 applicat ions................................................................................................................... ............................ 2 refere nces..................................................................................................................... ............................ 2 functional d escripti on ......................................................................................................... .................... 2 pci inte rface .................................................................................................................. ............................ 2 pci initia lization ............................................................................................................. ........................... 2 pci bus op erati ons ............................................................................................................. ..................... 2 pci configur ation space ........................................................................................................ .................. 3 deviations from the specifi cation .............................................................................................. ............. 3 electrical char acteris tics..................................................................................................... ........................ 4 device electrical character istics .............................................................................................. .............. 4 sata interface timi ng specifi cations........................................................................................... .......... 5 sata interface transmitter out put jitter char acteristi cs .................................................................... 6 clki serdes reference clo ck input requi rements.............................................................................. 6 pci 33 mhz timing specificat ions ............................................................................................... ........... 6 pci 66 mhz timing specificat ions ............................................................................................... ........... 7 flash memory timi ng specifi cations............................................................................................. ......... 7 pin defi nitions................................................................................................................ ............................... 8 sii 3114 pin li sting............................................................................................................... ..................... 8 sii 3114 pin di agram ............................................................................................................... ................ 13 sii 3114 pin d escripti ons.......................................................................................................... .............. 14 pci 66mhz 32-bit ............................................................................................................... ................... 14 miscellaneous i/o.............................................................................................................. .................... 16 serial at a signals ............................................................................................................. .................... 17 package dr awing................................................................................................................ ........................ 19 package ma rkings ............................................................................................................... ....................... 20 block di agram.................................................................................................................. ........................... 21 auto-initia lization ............................................................................................................ ........................... 22 auto-initializat ion from flash ................................................................................................. ............... 22 auto-initializat ion from eeprom ................................................................................................ .......... 23 register de finiti ons........................................................................................................... ......................... 25 pci configur ation space ........................................................................................................ ................ 25 device id ? vendor id.......................................................................................................... ................. 26 pci status ? pci co mmand....................................................................................................... ........... 27 pci class code ? revisi on id ................................................................................................... ........... 28 bist ? header type ? latency timer ? cache line si ze..................................................................... 28 base address register 0........................................................................................................ ............... 29 base address register 1........................................................................................................ ............... 29
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d iv ? 2007 silicon image, inc. base address register 2........................................................................................................ ............... 29 base address register 3........................................................................................................ ............... 30 base address register 4........................................................................................................ ............... 30 base address register 5........................................................................................................ ............... 30 subsystem id ? s ubsystem v endor id ............................................................................................. .... 31 expansion rom ba se addr ess ..................................................................................................... ........ 31 capabilities pointer ........................................................................................................... .................... 32 max latency ? min grant ? interr upt pin ? inte rrupt li ne ..................................................................... 32 configur ation .................................................................................................................. ....................... 32 software data regi ster ......................................................................................................... ................ 33 power management capabilities .................................................................................................. ........ 33 power management c ontrol + status .............................................................................................. ..... 34 pci bus master ? channel 0/2................................................................................................... ........... 34 prd table addre ss ? channel 0/2................................................................................................ ........ 35 pci bus master ? channel 1/3................................................................................................... ........... 35 prd table addre ss ? channel 1/3................................................................................................ ........ 35 data transfer m ode ? channel 0/2 ............................................................................................... ........ 36 data transfer m ode ? channel 1/3 ............................................................................................... ........ 36 system configurati on status ? comm and .......................................................................................... .. 36 system software data r egister .................................................................................................. .......... 37 flash memory address ? command + status....................................................................................... 3 7 flash memo ry data .............................................................................................................. ................. 37 eeprom memory address ? command + status................................................................................ 38 eeprom memo ry data ............................................................................................................. ........... 38 channel 0/2 task file c onfiguration + status ................................................................................... .... 38 channel 1/3 task file c onfiguration + status ................................................................................... .... 39 ba5 indirect addr ess........................................................................................................... .................. 39 ba5 indirect access ............................................................................................................ .................. 39 internal register spac e ? base a ddress 0 ....................................................................................... .... 40 channel 0/2 task file register 0 ............................................................................................... ........... 40 channel 0/2 task file register 1 ............................................................................................... ........... 40 internal register space ? base address 1 ....................................................................................... .... 41 channel 0/2 task file register 2 ............................................................................................... ........... 41 internal register space ? base address 2 ....................................................................................... .... 42 channel 1/3 task file register 0 ............................................................................................... ........... 42 channel 1/3 task file register 1 ............................................................................................... ........... 42 internal register space ? base address 3 ....................................................................................... .... 43 channel 1/3 task file register 2 ............................................................................................... ........... 43 internal register space ? base address 4 ....................................................................................... .... 44 pci bus master ? channel 0/2................................................................................................... ........... 44 prd table addre ss ? channel 0/2................................................................................................ ........ 44 pci bus master ? channel 1/3................................................................................................... ........... 45 prd table addre ss ? channel 1/3................................................................................................ ........ 45 internal register space ? base address 5 ....................................................................................... .... 46 pci bus master ? channel x ................................................................................................................ 53 prd table address ? channel x .......................................................................................................... 54 pci bus master2 ? channel x .............................................................................................................. 54 summary interr upt status....................................................................................................... ............... 56 prd address ? channel x .................................................................................................................... 56 pci bus master byte count ? channel x ............................................................................................. 56 fifo valid byte count and control ? channel x .................................................................................. 57 system configurati on status ? comm and .......................................................................................... .. 57 system software data r egister .................................................................................................. .......... 58 flash memory address ? command + status....................................................................................... 5 8 flash memo ry data .............................................................................................................. ................. 59 eeprom memory address ? command + status................................................................................ 59 eeprom memo ry data ............................................................................................................. ........... 60
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. v sii -ds-0103-d fifo port ? channel x .......................................................................................................................... 60 fifo pointers1? channel x .................................................................................................................. 61 fifo pointers2? channel x .................................................................................................................. 61 channel x task file r egister 0 .......................................................................................................... ... 62 channel x task file r egister 1 .......................................................................................................... ... 62 channel x task file r egister 2 .......................................................................................................... ... 63 channel x read a head da ta ............................................................................................................... .63 channel x task file register 0 ? command buff ering......................................................................... 64 channel x task file register 1 ? command buff ering......................................................................... 64 channel x extended task file register ? command bu ffering ........................................................... 65 channel x virtual dma/pio r ead ahead byte count .......................................................................... 65 channel x task file configur ation + st atus.......................................................................................... 65 data transfer mode ? channel x .......................................................................................................... 66 serial ata scontro l ............................................................................................................ ................... 67 serial ata sstatus............................................................................................................. .................... 68 serial at a serror.............................................................................................................. ..................... 69 serial ata sactive ............................................................................................................. .................... 70 smisc.......................................................................................................................... ........................... 70 serial ata phy configur ation ................................................................................................... ............ 71 sien ........................................................................................................................... ........................... 72 sfiscfg ........................................................................................................................ ......................... 73 rxfis0-r xfis6 .................................................................................................................. ................... 73 programming sequen ces .......................................................................................................... ................ 74 recommended initialization sequence for the sii 3114...................................................................... 74 serial ata device initialization ............................................................................................... ............... 75 issue ata command.............................................................................................................. ................. 76 pio mode read/wri te oper ation.................................................................................................. .......... 76 watchdog timer operat ion ....................................................................................................... ............. 77 pio mode read ah ead oper ation.................................................................................................. ........ 78 mdma/udma read/wri te oper ation ................................................................................................. .... 78 virtual dma read/w rite oper ation............................................................................................... ......... 79 using virtual dma with n on-dma capable devices............................................................................. 79 using virtual dma with dma capable devices..................................................................................... 81 second pci bus master register s usage .......................................................................................... .. 82 power mana gement............................................................................................................... ..................... 83 power manageme nt summary....................................................................................................... ........ 83 partial power ma nagement mode.................................................................................................. ........ 83 slumber power ma nagement mode .................................................................................................. .... 83 hot plug support ............................................................................................................... ..................... 84 fis support .................................................................................................................... ............................. 85 fis summary .................................................................................................................... ....................... 85 fis transm ission ............................................................................................................... ..................... 86 fis recep tion .................................................................................................................. ........................ 86 fis types not affiliated with cu rrent ata/atapi operati ons ............................................................ 89 bist support ................................................................................................................... ...................... 89 bist signals................................................................................................................... ....................... 89 dma setup ...................................................................................................................... ...................... 89
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d vi ? 2007 silicon image, inc. ata command decodi ng........................................................................................................... ................ 90 data modes ..................................................................................................................... ......................... 90 ata commands................................................................................................................... .................... 90 obsolesced comm ands ............................................................................................................ ............ 92 read/writ e long ................................................................................................................ .................... 92 vendor specific command s upport ................................................................................................ ..... 93 silicon image's vendor specific commands....................................................................................... .. 93 vendor specific, reserved, re tired and obsole sced comm ands ....................................................... 94 defini tions.................................................................................................................... .......................... 94 scheme ......................................................................................................................... ........................ 94 bridge device vendor specific commands ......................................................................................... 96 feature set/co mmand su mmary .................................................................................................... ..... 96 vs lock ........................................................................................................................ ......................... 97 vs unlock vendor spec ific...................................................................................................... .............. 99 vs unlock re served ............................................................................................................. .............. 101 vs unlock i ndivi dual ........................................................................................................... ................ 103 vs set general prot ocol ........................................................................................................ ............. 105 vs set command protoc ol ........................................................................................................ ......... 107 state tran sitions .............................................................................................................. ..................... 109 protocols summary .............................................................................................................. ................ 112 reading and writing of task file and device control register s..................................................... 116 48-bit lba a ddressi ng.......................................................................................................... ............... 116 device control regist er and soft reset ......................................................................................... .... 116 led s upport .................................................................................................................... ...................... 116 flash and eeprom progr amming seque nces...................................................................................... 117 flash memo ry a ccess ............................................................................................................ .............. 117 pci direct access.............................................................................................................. .................. 117 register access................................................................................................................ ................... 117 eeprom memo ry a ccess ........................................................................................................... ......... 118 eeprom write operat ion......................................................................................................... .......... 118 eeprom read o peratio n .......................................................................................................... ........ 118
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. vii sii -ds-0103-d list of figures figure 1. address lines du ring configurat ion cycle ............................................................................. ........ 3 figure 2. flash memory timing .................................................................................................. .................... 7 figure 3. sii 3114 pin diagr am............................................................................................................... ....... 13 figure 4. package dr awing ? 176 tqfp ........................................................................................... .......... 19 figure 5. marking specification ? sii 3114ct 176 ......................................................................................... 20 figure 6. marking specification ? sii 3114ctu ............................................................................................. 20 figure 7. sii 3114 block diagr am ............................................................................................................. ..... 21 figure 8. auto-initializat ion from fl ash ti ming ................................................................................ ............. 22 figure 9. auto-initializat ion from eepr om timing............................................................................... ........ 23 figure 10. hot plug logic state diagram ........................................................................................ ............. 84
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d viii ? 2007 silicon image, inc. list of tables table 1. absolute maximum ratings .............................................................................................. ................ 4 table 2. dc s pecificat ions..................................................................................................... ......................... 4 table 3. sata interf ace dc specif ications ...................................................................................... ............... 5 table 4. sata interfac e timing spec ifications .................................................................................. ............. 5 table 5. sata interface transmitte r output jitter c haracteri stics .............................................................. ... 6 table 6. clki serdes refer ence clock input requirem ents........................................................................ .6 table 7. pci 33 mhz ti ming specif ications...................................................................................... .............. 6 table 8. pci 66 mhz ti ming specif ications...................................................................................... .............. 7 table 9. sii 3114 pin li sting ............................................................................................................... ............. 8 table 10. pin ty pes ............................................................................................................ .......................... 12 table 11. auto-initializat ion from fl ash ti ming ................................................................................ ............. 22 table 12. flash da ta description............................................................................................... ................... 22 table 13. auto-initializat ion from eepr om timing ............................................................................... ....... 23 table 14. auto-initialization from eeprom ti ming sym bols ....................................................................... 23 table 15. eeprom da ta description.............................................................................................. ............. 24 table 16. sii 3114 pci configur ation space ................................................................................................. 25 table 17. sii 3114 internal register sp ace ? base a ddress 0 ...................................................................... 40 table 18. sii 3114 internal register sp ace ? base a ddress 1 ...................................................................... 41 table 19. sii 3114 internal register sp ace ? base a ddress 2 ...................................................................... 42 table 20. sii 3114 internal register sp ace ? base a ddress 3 ...................................................................... 43 table 21. sii 3114 internal register sp ace ? base a ddress 4 ...................................................................... 44 table 22. sii 3114 internal register sp ace ? base a ddress 5 ...................................................................... 46 table 23. software data byte, base address 5, offset 00 h ......................................................................... 53 table 24. software data byte, base address 5, offset 10 h ......................................................................... 55 table 25. serror register bits (dia g field) .................................................................................... ............. 69 table 26. serror regist er bits (e rr fiel d) ..................................................................................... ............. 69 table 27. physical region descriptor (p rd) fo rmat .............................................................................. ..... 82 table 28. power managem ent regist er bits ....................................................................................... ......... 83 table 29. fi s summa ry .......................................................................................................... ...................... 85 table 30. configuration bi ts for fis reception ................................................................................. ........... 86 table 31. default fi s configur ations........................................................................................... ................. 87 table 32. ata co mmands s upported............................................................................................... ............ 90 table 33. da ta fis ............................................................................................................. ........................... 93 table 34. vendor spec ific comm and summa ry ...................................................................................... ..... 96 table 35. 16-entry comm and protocol table...................................................................................... ....... 108 table 36. registers used w hen issuing vs se t comm and ...................................................................... 108 table 37. default state - vs _locked ............................................................................................ .......... 109 table 38. vs_vs................................................................................................................ ......................... 109 table 39. vs_rsv ............................................................................................................... ....................... 110 table 40. vs_ind ............................................................................................................... ........................ 110 table 41. vs_vs_rsv ............................................................................................................ ................... 110 table 42. vs_vs_ind ............................................................................................................ .................... 110 table 43. vs_ rsv_ind........................................................................................................... ....................111 table 44. vs_ vs_rsv_ind........................................................................................................ ................111 table 45. protocol code encodi ng scheme........................................................................................ ....... 112 table 46. vendor specific protoc ol code (in alphabet ical or der) .............................................................. 11 3 table 47. vendor specific protoc ol code (by prot ocol c ode) .................................................................... 1 14 table 48. vendor specific protoc ol code (in alphabet ical or der) .............................................................. 11 5
sii 3114 pci to serial ata controller data sheet ? 2007 silicon image, inc. sii -ds-0103-d overview the silicon image sii 3114 is a single-chip solution for a pci to se rial ata controller. it accepts host commands through the pci bus, processes them, and transfers data between the host and serial ata devices. it can be used to control four independent serial ata channels. each channel has its own serial ata bus and will support one serial ata device. the sii 3114 supports a 32-bit 66 mhz pci bus and the se rial ata generation 1 transfer rate of 1.5 gbit/s (150 mb/s). key benefits the silicon image sii 3114 pci to serial ata controller is the perfect single-chip solution for designs that need to accommodate storage peripherals with the new serial ata in terface. any system with a pci bus interface can simply add the serial ata interface by adding a card with the sii 3114 and loading the driver into the system. the sii 3114 comes complete with drivers for windows 98, windows millennium, windows nt 4.0, windows 2000, xp, windows 2003, netware 5.1, 6.0, 6.5, red hat linux 8.0, 9.0, suse linux 8.1, 8.2 and united linux 1.0. features overall features ? standalone pci to serial ata host controller chip ? compliant with pci specification, revision 2.3. ? compliant with programming interface for bus master ide controller, revision 1.0. ? driver support for windows 98, windows millennium , windows nt 4.0, windows 2000, xp, windows 2003, netware 5.1, 6.0, 6.5, red hat linux 8.0, 9.0, suse linux 8.1, 8.2 and united linux 1.0 ? supports up to 4mbit external flash or eprom for bios expansion. ? supports an external eeprom, flash, or eprom for programmable device id , subsystem vendor id, subsystem product id, and pci sub-class code. ? supports the silicon image specific dr iver for special chip functions. ? fabricated in a 0.18 cmos process with a 1.8 volt core and 3.3 volt i/os. ? supports plug and play. ? supports atapi device ? supports activity leds, one for each channel with 12ma open drain driving capability. ? available in a 176-pin tqfp package. pci features ? supports 66 mhz pci with 32-bit data. ? supports pci perr and serr reporting. ? supports pci bus master operations: memory r ead, memory read multiple, and memory write. ? supports pci bus target operations: configuration read, configuration wr ite, i/o read, i/o write, memory read, memory write, memory read line (memory read) and memory read multiple (memory read) ? supports byte alignment for odd-byte pci address access. ? supports jumper configurable pci class code. ? supports programmable and eeprom, flash and eprom loadable pci class code. ? supports base address register 5 in memory space. serial ata features ? integrated serial ata link and phy logic ? compliant with serial ata 1.0 specifications ? supports four independent serial ata channels. ? supports serial ata generation 1 transfer rate of 1.5gbit/s. ? supports spread spectrum in receiver ? single pll architecture, 1 pll for all four ports ? programmable drive strengths for backplane applications
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 2 ? 2007 silicon image, inc. other features ? features independent 256-byte fifos (32-bit x 64 deep) per serial ata channel for host reads and writes. ? supports legacy type operations (master/slave drive access) using i/o-mapped register space ? supports 4 concurrent operations using memory-mapped register space ? features serial ata to pci interrupt masking. ? features watch dog timer for fault resiliency. ? provides 8 bits of general purpose i/o (gpio) applications ? pc motherboards ? serial ata drive add on cards ? serial ata raid cards references for more details about the serial ata technology, the reader is referred to the followi ng industry specifications: ? serial ata / high speed serialized at at tachment specification, revision 1.0 ? pci local bus specification revision 2.3 ? advanced power management specification revision 1.0 ? pci ide controller specification revision 1.0 ? programming interface for bus master ide controller, revision 1.0 functional description the sii 3114 is a pci-to-serial ata controller chip that tr ansfers data between the pci bus and storage media (e.g hard disk drive, etc). the sii 3114 consists of the following functional blocks: ? pci interface. provides the interface to any system that has a pci bus. instructions and system clocks are based on this interface. ? serial ata interface. four separate channels to a ccess storage media such as hard disk drive, floppy disk drive, cd-rom. pci interface the sii 3114 pci interface is compliant with the pci local bus specification (revision 2.3). the sii 3114 can act as a pci master and a pci slave, and contains the sii 3114 pci configuration space and internal registers. when the sii 3114 needs to access shared memory, it becomes the bus master of the pci bus and completes the memory cycle without external intervention. in the mode when it acts as a bridge between the pci bus and the serial ata bus it will behave as a pci slave. pci initialization generally, when a system initializes a module containi ng a pci device, the configuration manager reads the configuration space of each pci device on the pci bus. ha rdware signals select a specific pci device based on a bus number, a slot number, and a function number. if a device that is addressed (via signal lines) responds to the configuration cycle by claiming the bus , then that function's configuration sp ace is read out from the device during the cycle. because any pci device c an be a multifunction device, every suppor ted function's configuration space needs to be read from the device. based on the informat ion read, the configurati on manager will assign system resources to each supported function within the device. sometimes new information needs to be written into the function's configuration space. this is a ccomplished with a configuration write cycle. pci bus operations the sii 3114 behaves either as a pci master or a pci sl ave device at any time and switches between these modes as required during device oper ation. as a pci slave, the sii 3114 responds to the following pci bus operations: ? i/o read ? i/o write
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 3 sii -ds-0103-d ? configuration read ? configuration write ? memory read ? memory write all other pci cycles are ignored by the sii 3114. as a pci master, the sii 3114 generates the following pci bus operations: ? memory read multiple ? memory read ? memory write pci configuration space this section describes how the sii 3114 implements the required pci configurat ion register space. the intent of pci configuration space definition is to provide an appropria te set of configuration regi sters that satisfy the needs of current and anticipated system conf iguration mechanisms, without specif ying those mechanisms or otherwise placing constraints on their use. these registers allow for: ? full device relocation (including interrupt binding) ? installation, configurations, and booting without user interventions ? system address map constructi on by device-independent software figure 1 illustrates the address line assignm ents during the configuration cycle. figure 1. address lines during configuration cycle the sii 3114 only responds to type 0 configuration cycles. type 1 cycles, which pass a configuration request on to another pci bus, are ignored. the address phase during a sii 3114 configuration cycle indicates the function number and register number being addressed which can be decoded by observing the status of the address lines ad[31:0]. the value of the signal lines ad[7:2] during the address phase of configuration cycles se lects the register of the configuration space to access. valid values are betw een 0 and 15, inclusive. acce ssing registers outside this range results in an all-0s value being retur ned on reads, and no action being taken on writes. the class code register contains the class code, s ub-class code, and register-level programming interface registers. all writable bits in the configuration space except offset 44h, 8ch are reset to their defaults by the hardware reset, pci reset (rst#) asserted. after reset, the sii 3114 is disabled and will only res pond to pci configuration write and pci configuration read cycles. deviations from the specification the sii 3114 product has been developed and tested to the specificat ion listed in this document. as a result of testing and customer feedback, we may become aware of dev iations to the specification that could affect the component's operation. to ensure awareness of these deviations by anyone considering the use of the sii 3114, we have included an errata section at the end of this spec ification. please ensure that the errata section is 31 11 10 8 7 2 1 0 bit number don?t care bit numbe r 3-bit function number 6-bit register number 2-bit type number
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 4 ? 2007 silicon image, inc. carefully reviewed. it is also important that you have the mo st current version of this s pecification. if there are any questions, please contact silicon image, inc. electrical characteristics device electrical characteristics specifications are for commercial temperature range, 0 o c to +70 o c, unless otherwise specified. table 1. absolute maximum ratings symbol parameter ratings unit vddo i/o supply voltage 4.0 v vddi, vddp vdda, vddx digital, pll, analog and oscillator supply power 2.15 v v pci_in input voltage for pci signals -0.3 ~ 6.0 v v nonpci_in input voltage for non-pci signals -0.3 ~ vddo+0.3 v v clki_in input voltage for clki -0.3 ~ vddx+0.3 v i out dc output current 16 ma ja thermal resistance (junction to ambient) 32.6 c/w t stg storage temperature -65 ~ 150 o c table 2. dc specifications limits symbol parameter condition type min typ max units vddi vdda vddp vddx supply voltage (digital, analog, pll, oscillator) - - 1.71 1.8 1.89 v vddo supply voltage(i/o) - - 3.0 3.3 3.6 v idd 1.8v 1.8v supply current - - - 325 1 430 2 ma idd 3.3v 3.3v supply current c load = 20pf - - 12 1 40 2 ma - 3.3v pci 0.5xvddo - - v v ih input high voltage - non-pci 2.0 - - - 3.3v pci - - 0.3xvddo v v il input low voltage - non-pci - - 0.8 i out = -500ua 3.3v pci 0.9xvddo - - v v oh output high voltage - non-pci 2.4 - - i out = 1500ua 3.3v pci - - 0.1xvddo v v ol output low voltage - non-pci - - 0.4 v+ input high voltage - schmitt - 1.8 2.3 v v- input low voltage - schmitt 0.5 0.9 - v v h hysteresis voltage - schmitt 0.4 - - v i ih input high current v in = vdd - -10 - 10 ua i il input low current v in = vss - -10 - 10 ua i ilod open drain output sink current - - - - 12 ma i oz 3-state leakage current - - -10 - 10 ua notes: 1 using the random data pattern (read/write operation) at 1.8v or 3.3v power supply, pci interface = 33 mhz. 2 using the maximum toggling data pattern (read/write operation) at 1. 89v or 3.6v power supply , pci interface = 66 mhz.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 5 sii -ds-0103-d table 3. sata interface dc specifications limits symbol parameter condition min typ max unit v dout_00 tx+/tx- differential peak-to-peak voltage swing. terminated by 50 ohms. tx swing value = 00 400 500 600 mv v dout_01 tx+/tx- differential peak-to-peak voltage swing. terminated by 50 ohms. tx swing value = 01 500 600 700 mv v dout_10 tx+/tx- differential peak-to-peak voltage swing. terminated by 50 ohms. tx swing value = 10 550 700 800 mv v dout_11 tx+/tx- differential peak-to-peak voltage swing. terminated by 50 ohms. tx swing value = 11 650 800 900 mv v din rx+/rx- differential peak-to-peak input sensitivity - 325 - - mv v dicm rx+/rx- differential input common-mode voltage - 200 300 450 mv v docm tx+/tx-differential output common-mode voltage - 200 300 450 mv v sdt squelch detector threshold - 100 50 200 mv z din differential input impedance rext = 1k 1% for 25mhz serdes ref clk rext = 4.99k 1% for 100mhz serdes ref clk 85 100 115 ohms z dout differential output impedance rext = 1k 1% for 25mhz serdes ref clk rext = 4.99k 1% for 100mhz serdes ref clk 85 100 115 ohms sata interface timing specifications table 4. sata interface timing specifications limits symbol parameter condition min typ max unit t tx_rise_fall rise and fall time at transmitter 20%-80% 133 - 274 ps t tx_skew tx differential skew - - - 20 ps t tx_dc_freq tx dc clock frequency skew - -350 - +350 ppm t tx_ac_freq tx ac clock frequency skew serdes ref clk = ssc ac modulation, subject to the "downspread ssc" triangular modulation (30-33khz) profile per 6.6.4.5 in sata 1.0 specification -5000 - +0 ppm
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 6 ? 2007 silicon image, inc. sata interface transmitter output jitter characteristics table 5. sata interface transmitter output jitter characteristics limits symbol parameter condition min typ max unit rj 5ui 5ui later random jitter measured at tx output pins 1sigma deviation - 4.5 - ps rms rj 250ui 250ui later random jitter measured at tx output pins 1sigma deviation - 6.0 - ps rms dj 5ui 5ui later deterministic jitter measured at tx output pins peak to peak phase variation random data pattern - 40 - ps dj 250ui 250ui later deterministic jitter measured at tx output pins peak to peak phase variation random data pattern - 45 - ps clki serdes reference clock input requirements table 6. clki serdes reference clock input requirements limits symbol parameter condition min typ max unit t clki_freq nominal frequency rext = 1k 1% rext = 4.99k 1% - 25 100 - mhz v clk_ih input high voltage - 0.7xvddx - - v v clk_il input low voltage - - - 0.3xvddx v t clki_j clki frequency tolerance - -100 +100 ppm t clki_rise_fall rise and fall time at clki 25mhz reference clock, 20%-80% 100mhz reference clock, 20%-80% - - 4 2 ns t clki_rc_duty clki duty cycle 20%-80% 40 - 60 % notes: clki must be 1.8v swing when external clock input to this pin pci 33 mhz timing specifications table 7. pci 33 mhz timing specifications limits symbol parameter min max unit t val clk to signal valid ? bussed signals 2.0 11.0 ns t val (ptp) clk to signal valid ? point to point 2.0 11.0 ns t on float to active delay 2.0 - ns t off active to float delay - 28.0 ns t su input setup time ? bussed signals 7.0 - ns t su (ptp) input setup time ? point to point 10.0 - ns t h input hold time 0.0 - ns
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 7 sii -ds-0103-d pci 66 mhz timing specifications table 8. pci 66 mhz timing specifications limits symbol parameter min max unit t val clk to signal valid ? bussed signals 2.0 6.0 ns t val (ptp) clk to signal valid ? point to point 2.0 6.0 ns t on float to active delay 2.0 - ns t off active to float delay - 14.0 ns t su input setup time ? bussed signals 3.0 - ns t su (ptp) input setup time ? point to point 5.0 - ns t h input hold time 0.0 - ns flash memory timing specifications pciclk fl_addr fl_cs_n fl_rd_n 2 t cyc 15 t cyc 1 t cyc flash read timing pcicl k fl_addr fl_cs_n fl_wr_n 2 t cyc 15 t cyc 13 t cyc flash write timing figure 2. flash memory timing
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 8 ? 2007 silicon image, inc. pin definitions sii 3114 pin listing this section describes the pins of the sii 3114 pci-to-serial ata host controller. table 9 provides information on pin numbers, pin names, pin types, drive types where applicable, internal resistors where applicable, and descriptions. table 10 shows the pin types used in the sii 3114. table 9. sii 3114 pin listing pin # pin name type internal resistor description 1 n/c n/c - no internal connection 2 gnda gnd - analog ground 3 txp0 o - channel 0 differential transmit +ve 4 txn0 o - channel 0 differential transmit -ve 5 gnda gnd - analog ground 6 vdda pwr - 1.8v serdes power 7 gnda gnd - analog ground 8 rxn0 i - channel 0 differential receive -ve 9 rxp0 i - channel 0 differential receive +ve 10 vdda pwr - 1.8v serdes power 11 gnda gnd - analog ground 12 txp1 o - channel 1 differential transmit +ve 13 txn1 o - channel 1 differential transmit -ve 14 gnda gnd - analog ground 15 vdda pwr - 1.8v serdes power 16 gnda gnd - analog ground 17 rxn1 i - channel 1 differential receive -ve 18 rxp1 i - channel 1 differential receive +ve 19 vdda pwr - 1.8v serdes power 20 vddx pwr - 1.8v supply for crystal oscillator 21 xtalo o - crystal oscillator output 22 xtali/clki i - crystal oscillator input or external clock input 23 gnda gnd - analog ground 24 rext i - external reference resistor input 25 vddp pwr - 1.8v pll power 26 gnda gnd - analog ground 27 txp2 o - channel 2 differential transmit +ve 28 txn2 o - channel 2 differential transmit -ve 29 gnda gnd - analog ground 30 vdda pwr - 1.8v serdes power 31 gnda gnd - analog ground 32 rxn2 i - channel 2 differential receive -ve 33 rxp2 i - channel 2 differential receive +ve 34 vdda pwr - 1.8v serdes power 35 gnda gnd - analog ground 36 txp3 o - channel 3 differential transmit +ve 37 txn3 o - channel 3 differential transmit -ve 38 gnda gnd - analog ground 39 vdda pwr - 1.8v serdes power 40 gnda gnd - analog ground
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 9 sii -ds-0103-d table 9. SII3114 pin listing (continued) pin # pin name type internal resistor description 41 rxn3 i - channel 3 differential receive -ve 42 rxp3 i - channel 3 differential receive +ve 43 vdda pwr - 1.8v serdes power 44 n/c n/c - no internal connection 45 vddo pwr - 3.3 volt power 46 vsso gnd - ground 47 eeprom_sdat i/o pu ? 70k eeprom serial data 48 eeprom_sclk i/o pu ? 70k eeprom serial clock 49 fl_addr[00] / class_sel i/o pu ? 70k flash memory address 0 / mass storage-raid pci class select 50 fl_addr[01] / ba5_en i/o pu ? 70k flash memo ry address 1 / base address register 5 enable 51 fl_addr[02] o pu ? 70k flash memory address 2 52 fl_rd_n o pu ? 70k flash memory read strobe 53 fl_wr_n o pu ? 70k flash memory write strobe 54 fl_addr[03] o pu ? 70k flash memory address 3 55 fl_addr[04] o pu ? 70k flash memory address 4 56 fl_addr[05] o pu ? 70k flash memory address 5 57 fl_addr[06] o pu ? 70k flash memory address 6 58 vddo pwr - 3.3 volt power 59 vsso gnd - ground 60 vddi pwr - 1.8v internal core power 61 vssi gnd - ground 62 fl_addr[07] o pu ? 70k flash memory address 7 63 fl_addr[08] o pu ? 70k flash memory address 8 64 fl_addr[09] o pu ? 70k flash memory address 9 65 led0 od pu ? 70k channel 0 activity led indicator 66 fl_addr[10] o pu ? 70k flash memory address 10 67 fl_addr[11] o pu ? 70k flash memory address 11 68 fl_addr[12] o pu ? 70k flash memory address 12 69 fl_addr[13] o pu ? 70k flash memory address 13 70 led1 od pu ? 70k channel 1 activity led indicator 71 vddi pwr - 1.8v internal core power 72 vssi gnd - ground 73 vddo pwr - 3.3 volt power 74 vsso gnd - ground 75 fl_addr[14] o pu ? 70k flash memory address 14 76 fl_addr[15] o pu ? 70k flash memory address 15 77 fl_addr[16] o pu ? 70k flash memory address 16 78 led2 od pu ? 70k channel 2 activity led indicator 79 fl_addr[17] o pu ? 70k flash memory address 17 80 fl_addr[18] o pu ? 70k flash memory address 18 81 fl_cs_n o pu ? 70k flash memory chip select 82 vddi pwr - 1.8v internal core power 83 vssi gnd - ground 84 led3 od pu ? 70k channel 3 activity led indicator 85 fl_data[00] i/o pu ? 70k flash memory data 0 86 fl_data[01] i/o pu ? 70k flash memory data 1
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 10 ? 2007 silicon image, inc. table 9. SII3114 pin listing (continued) pin # pin name type internal resistor description 87 fl_data[02] i/o pu ? 70k flash memory data 2 88 vddo pwr - 3.3 volt power 89 vsso gnd - ground 90 fl_data[03] i/o pu ? 70k flash memory data 3 91 fl_data[04] i/o pu ? 70k flash memory data 4 92 fl_data[05] i/o pu ? 70k flash memory data 5 93 fl_data[06] i/o pu ? 70k flash memory data 6 94 fl_data[07] i/o pu ? 70k flash memory data 7 95 pci_inta_n od - pci interrupt 96 pci_rst_n i-schmitt - pci reset 97 pci_clk i - pci clock 98 pci_gnt_n i - pci bus grant 99 vddo pwr - 3.3 volt power 100 vsso gnd - ground 101 vddi pwr - 1.8v internal core power 102 vssi gnd - ground 103 pci_req_n t - pci bus request 104 pci_ad31 i/o - pci address/data 105 pci_ad30 i/o - pci address/data 106 pci_ad29 i/o - pci address/data 107 pci_ad28 i/o - pci address/data 108 pci_ad27 i/o - pci address/data 109 pci_ad26 i/o - pci address/data 110 vddo pwr - 3.3 volt power 111 vsso gnd - ground 112 pci_ad25 i/o - pci address/data 113 pci_ad24 i/o - pci address/data 114 pci_cbe3 i/o - pci command/byte enable 115 pci_idsel i - pci id select 116 pci_ad23 i/o - pci address/data 117 pci_ad22 i/o - pci address/data 118 pci_ad21 i/o - pci address/data 119 vddi pwr - 1.8v internal core power 120 vssi gnd - ground 121 vddo pwr - 3.3 volt power 122 vsso gnd - ground 123 pci_ad20 i/o - pci address/data 124 pci_ad19 i/o - pci address/data 125 pci_ad18 i/o - pci address/data 126 pci_ad17 i/o - pci address/data 127 pci_ad16 i/o - pci address/data 128 pci_cbe2 i/o - pci command/byte enable 129 pci_frame_n i/o - pci frame 130 pci_irdy_n i/o - pci initiator ready 131 pci_perr_n i/o - pci parity error 132 vddo pwr - 3.3 volt power
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 11 sii -ds-0103-d table 9. SII3114 pin listing (continued) pin # pin name type internal resistor description 133 vsso gnd - ground 134 pci_stop_n i/o - pci stop 135 pci_devsel_n i/o - pci device select 136 pci_trdy_n i/o - pci target ready 137 pci_serr_n od - pci system error 138 vddi pwr - 1.8v internal core power 139 vssi gnd - ground 140 pci_par i/o - pci parity 141 pci_cbe1 i/o - pci command/byte enable 142 pci_ad15 i/o - pci address/data 143 pci_ad14 i/o - pci address/data 144 vddo pwr - 3.3 volt power 145 vsso gnd - ground 146 pci_ad13 i/o - pci address/data 147 pci_ad12 i/o - pci address/data 148 vddi pwr - 1.8 volt core power 149 vssi gnd - ground 150 pci_ad11 i/o - pci address/data 151 pci_ad10 i/o - pci address/data 152 pci_m66en i - pci 66 mhz enable 153 pci_ad09 i/o - pci address/data 154 pci_ad08 i/o - pci address/data 155 pci_cbe0 i/o - pci command/byte enable 156 vddo pwr - 3.3 volt power 157 vsso gnd - ground 158 vddi pwr - 1.8 volt core power 159 vssi gnd - ground 160 pci_ad07 i/o - pci address/data 161 pci_ad06 i/o - pci address/data 162 pci_ad05 i/o - pci address/data 163 pci_ad04 i/o - pci address/data 164 pci_ad03 i/o - pci address/data 165 pci_ad02 i/o - pci address/data 166 pci_ad01 i/o - pci address/data 167 pci_ad00 i/o - pci address/data 168 vddo pwr - 3.3 volt power 169 vsso gnd - ground 170 gpioen i pd -60k gpio enable 171 test_mode i pd -60k test mode enable 172 tms i pu -70k jtag test mode select 173 tck i pu -70k jtag test clock 174 tdo o - jtag test data out 175 tdi i pu -70k jtag test data in 176 trstn i pu -70k jtag test reset
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 12 ? 2007 silicon image, inc. table 10. pin types pin type description i input pin with lvttl thresholds i-schmitt input pin with schmitt trigger o output pin t tri-state output pin i/o bi-directional pin od open drain output pin note: pci pins are 5v tolerant.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 13 sii -ds-0103-d sii 3114 pin diagram figure 3 shows the sii 3114 pinout. note that most pci signals are not labeled with the ?pci_? prefix as used elsewhere. 133 vsso stop_n devsel_n trdy_n 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 serr_n vddi vssi par cbe1 ad15 ad14 vddo vsso ad13 ad12 vddi vssi ad11 ad10 m66en ad09 ad08 cbe0 vddo vsso vddi vssi ad07 ad06 ad05 ad04 ad03 ad02 ad01 ad00 vddo vsso gpioen test_mode tms tck tdo tdi trstn vddo fl_data2 fl_data1 fl_data0 led3 vssi vddi fl_cs_n fl_addr18 fl_addr17 led2 fl_addr16 fl_addr15 fl_addr14 vsso vddo vssi vddi led1 fl_addr13 fl_addr12 fl_addr11 fl_addr10 led0 fl_addr09 fl_addr08 fl_addr07 vssi vddi vsso vddo fl_addr06 fl_addr05 fl_addr04 fl_addr03 fl_wr_n fl_rd_n fl_addr02 fl_addr01 fl_addr00 eeprom_sc l eeprom_sd a vsso vddo 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 1 2 3 4 5 6 8 9 10 11 7 13 14 15 16 17 18 20 21 22 23 19 12 24 25 26 27 29 30 31 32 28 34 35 36 37 38 39 41 42 43 44 40 33 n/c gnd a txp0 txn0 gnd a vdd a gnd a rxn0 rxp0 vdd a gnd a txp1 txn1 gnd a vdd a gnd a rxn1 rxp1 vdd a vddx xtalo xtali/clki gnd a rext vddp gnd a txp2 txn2 gnd a vdd a gnd a rxn2 rxp2 vdd a gnd a txp3 txn3 gnd a vdd a gnd a rxn3 rxp3 vdd a n/c vddo perr_n irdy_n frame_n cbe2 ad16 ad17 ad18 ad19 ad20 vsso vddo vssi vddi ad21 ad22 ad23 idsel cbe3 ad24 ad25 vsso vddo ad26 ad27 ad28 ad29 ad30 ad31 req_n vssi vddi vsso vddo gnt_n pci_clk rst_n inta_n fl_data7 fl_data6 fl_data5 fl_data4 fl_data3 vsso sii 3114 top view figure 3. sii 3114 pin diagram
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 14 ? 2007 silicon image, inc. sii 3114 pin descriptions pci 66mhz 32-bit pci address and data pin names: pci_ad[31..00] pin numbers: 104-109, 112, 113, 116-118, 123-127, 142, 143, 146, 147, 150, 151, 153, 154, 160-167 address and data buses are multiplexed on the same pc i pins. a bus transaction c onsists of an address phase followed by one or more data phases. pci supports both read and write bursts. the address phase is the first clock cycle in which pci_frame_n signal is assert ed. during the address phase, pci_ad[31:0] contain a physical address (32 bits). for i/o, this can be a byte address. for configuration and memory it is a dword address. during data phases, pci_ad[7:0] contain the least significant byte (lsb) and pci_ad[31:24] contain the most significant byte (msb). write data is stable and va lid when pci_irdy_n is asserted; read data is stable and valid when pci_trdy_n is asserted. data is trans ferred during those clocks where both pci_irdy_n and pci_trdy_n are asserted. pci command and byte enables pin names: pci_cbe[3..0] pin numbers: 114, 128, 141, 155 command and byte enables are multiplexed on the same pci pins. during the address phase of a transaction, pci_cbe[3:0]_n define the bus command. during the dat a phase, pci_cbe[3:0]_n ar e used as byte enables. byte enables are valid for the entire data phase and det ermine which byte lanes carry meaningful data. pci id select pin name: pci_idsel pin number: 115 this signal is used as a chip select dur ing configuration read and write transactions. pci frame cycle pin name: pci_frame_n pin number: 129 cycle frame is driven by the current master to indi cate the beginning and duration of an access. pci_frame_n is asserted to indicate that a bus transaction is begi nning. while pci_frame_n is asserted, data transfers continue. when pci_frame_n is deasserted, the transacti on is in the final data phase or has completed. pci initiator ready pin name: pci_irdy_n pin number: 130 initiator ready indicates the initializing agent?s (bus ma ster?s) ability to complete the current data phase of the transaction. this signal is used with pci_trdy_n . a data phase is completed on any clock when both pci_irdy_n and pci_trdy_n are sampled as asserted. wait cycles are inserted until both pci_irdy_n and pci_trdy_n are asserted together. pci target ready pin name: pci_trdy_n pin number: 136 target ready indicates the target agent?s ability to complete the current data phase of the transaction. pci_trdy_n is used with pci_irdy_n. a data phase is completed on any clock when both pci_trdy_n and pci_irdy_n are sampled asserted. during a read, pc i_trdy_n indicates that valid data is present on pci_ad[31:0]. during a write, it indicates the target is prepared to accept data. pci device select pin name: pci_devsel_n pin number: 135 device select, when actively driven, indicates the dr iving device has decoded its address as the target of the current access. as an input, pci_devsel_n indicates to a master whether any device on the bus has been selected.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 15 sii -ds-0103-d pci stop pin name: pci_stop_n pin number: 134 pci_stop_n indicates the current target is requesti ng that the master stop the current transaction. pci parity error pin name: pci_perr_n pin number: 131 pci_perr_n indicates a data parity error between the curr ent master and target on pci. on a write transaction, the target always signals data parity errors back to the master on pci_perr_n. on a read transaction, the master asserts pci_perr_n to indicate to the system that an error was detected. pci system error pin name: pci_serr_n pin number: 137 system error is for reporting address parity errors, data parity errors on special cycle command, or any other system error where the result will be catastrophic. t he pci_serr_n is a pure open drain and is actively driven for a single pci clock by the agent reporting the error. t he assertion of pci_serr_n is synchronous to the clock and meets the setup and hold times of all bused signals. however, the restoring of pci_serr_n to the deasserted state is accomplished by a weak pull-up. note that if an agent does not want a non-maskable interrupt (nmi) to be generated, a different r eporting mechanism is required. pci parity pin name: pci_par pin number: 140 pci_par is even parity across pci_ad[31:0] and pci_c be[3:0]_n. parity generation is required by all pci agents. pci_par is stable and valid one clock after the address phase. for data phases pci_par is stable and valid one clock after either pci_irdy_n is asserted on a write transaction or pci_trdy_n is asserted on a read transaction. once pci_par is valid, it remains valid until one clock after the completion of the current data phase. (pci_par has the same timing as pc i_ad[31:0] but delayed by one clock.) pci request pin name: pci_req_n pin number: 103 this signal indicates to the arbiter that this agent desires use of the pci bus. pci grant pin name: pci_gnt_n pin number: 98 this signal indicates to the agent that access to the pc i bus has been granted. in res ponse to a pci request, this is a point-to-point signal. every master has its own pci_gnt_n, which must be ignored while pci_rst_n is asserted. pci interrupt a pin name: pci_inta_n pin number: 95 interrupt a is used to request an interrupt on the pc i bus. pci_inta_n is open collector and is an open drain output. pci clock signal pin names: pci_clk pin number: 97 clock signal provides timing for all transactions on pci and is an input to every pci device. all other pci signals (except pci_rst_n, and pci_inta_n) are sampled on the rising edge of pci_clk. all other timing parameters are defined with respect to this edge.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 16 ? 2007 silicon image, inc. pci reset pin name: pci_rst_n pin number: 96 pci_rst_n is an active low input that is used to set the internal registers to their initial state. pci_rst_n is typically the system power-on reset signal as distributed on the pci bus. pci m66en pin name: pci_m66en pin number: 152 this pin configures the pci bus oper ating frequency. when low, the pci bus operates from 0 to 33 mhz. when high, the pci bus operates from 33mhz to 66mhz. miscellaneous i/o flash signals pin name: fl_addr00 / class_sel pin number: 49 when pci_rst_n is deasserted, this pin is an output and r epresents flash memory address bit 0. during reset, it is sampled to configure mass storage class or raid mode in the pci class code register. a high on this pin sets mass storage class, a low sets raid mode. the configur ation state is latched internally when pci_rst_n is deasserted. this pad is internally pulled high to enable mass storage class if left unconnected. pin name: fl_addr01 / ba5_en pin number: 50 when pci_rst_n is deasserted, this pin is an output and represents flash memory address bit 1 during reset, it is sampled to configure base address register 5. a high on this pin enables base address register 5, a low disables base address register 5. the configuration st ate is latched internally when pci_rst_n is deasserted. this pin is internally pulled high to enable base address register 5 when left unconnected. pin name: fl_addr[02-18] pin numbers: 51, 54-57, 62-64, 66-69, 75-77, 79, 80 flash memory address bits; 19 total for 512k address space. flash address pins 14 to 18 are used to select internal test modes in conjunction with the test_mode pin. pin name: fl_data[0-7] pin numbers: 85-87, 90-94 8-bit flash memory data bus or gpio pins pin name: fl_rd_n pin number: 52 flash read enable signal, active low pin name: fl_wr_n pin number: 53 flash write enable signal, active low pin name: fl_cs_n pin number: 81 flash chip select signal, active low serial eeprom interface signals pin name: eeprom_sdat pin number: 47 serial interface (i2c) data line pin name: eeprom_sclk pin number: 48 serial interface (i2c) clock
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 17 sii -ds-0103-d led drivers pin names: led[0..3] pin numbers: 65, 70, 78, 84 these are 12ma open-drain outputs to drive activi ty leds for channels 0 to 3 respectively. gpio pin name: gpio_en pin number: 170 this pin enables the use of the flash data pins for general purpose i/o. test pin names: tms, tck, tdo, tdi, trstn pin numbers: 172-176 these pins are used for jtag operation. the trstn pin mu st be tied to ground if the jtag function is not used pin name: test_mode pin number: 171 this pin is used for chip testing. this pin mu st be left open or tied to ground for normal operation. power supply & ground pin name: vddo pin numbers: 45, 58, 73, 88, 99, 110, 121, 132, 144, 156, 168 3.3 v power supply input pin name: vddi pin numbers: 60, 71, 82, 101, 119, 138, 148, 158 1.8v power supply input for internal core pin name: vsso pin number: 46, 59, 74, 89, 100, 111, 122, 133, 145, 157, 169 ground reference point to power supply for i/o. pin name: vssi pin number: 61, 72, 83, 102, 120, 139, 149, 159 ground reference point to power supply for core. serial ata signals power supply & ground pin name: vdda pin numbers: 6, 10, 15, 19, 30, 34, 39, 43 serdes 1.8 v power supply pins pin name: vddp pin number: 25 pll 1.8 v power supply pin pin name: vddx pin number: 20 oscillator 1.8 v power supply pin pin name: gnda pin numbers: 2, 5, 7, 11, 14, 16, 23, 26, 29, 31, 35, 38, 40 serdes ground
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 18 ? 2007 silicon image, inc. high speed serial signals pin names: rxn[0..3] pin numbers: 8, 17, 32, 41 differential receive negative side. pin names: rxp[0..3] pin numbers: 9, 18, 33, 42 differential receive positive side. pin names: txn[0..3] pin numbers: 4, 13, 28, 37 differential transmit negative side pin names: txp[0..3] pin numbers: 3, 12, 27, 36 differential transmit positive side other serdes signals pin name: xtalo pin number: 21 crystal oscillator pin for serdes referenc e clock. a 25mhz crystal must be used. pin name: xtali/clki pin number: 22 crystal oscillator pin for serdes reference clock. when ex ternal clock source is selected, the external clock (either 25mhz or 100 mhz) will come in through this pin. the clock must be 1.8v swing and the precision requirement is 100ppm. pin name: rext pin number: 24 external reference resistor pin for termination calibrati on. this pin provides the additional function of selecting frequency of the clock source. for 25mhz, a 1k, 1% resi stor is connected to ground. for 100mhz, a 4.99k, 1% resistor is connected to ground.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 19 sii -ds-0103-d package drawing figure 4. package drawing ? 176 tqfp part ordering number: sii 3114ct176 (176 pin tqfp standard package) sii 3114ctu (176 pin tqfp universal package) pin #1 44 88 89 132 133 176 20.0 sq nom 22.0 sq nom 0.40 nom 0.18 nom 45 0.10 nom 1.00 nom dimensions in millimeters
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 20 ? 2007 silicon image, inc. package markings figure 5. marking specification ? sii 3114ct176 figure 6. marking specification ? sii 3114ctu
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 21 sii -ds-0103-d block diagram the sii 3114 contains the major logic modules shown in figure 7. pci interface arbiter flash & eeprom interface serial ata channel #0 pci dma engine data fifo bus interface serial ata channel #2 data fifo pci dma engine bus interface serial ata channel #1 pci dma engine data fifo bus interface serial ata channel #3 data fifo pci dma engine bus interface figure 7. sii 3114 block diagram
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 22 ? 2007 silicon image, inc. auto-initialization the sii 3114 supports an external flash and/or eeprom dev ice for bios extensions and user-defined pci configuration header data. auto-initialization from flash the sii 3114 initiates the flash detection and configuration space loading sequence upon the release of pci_rst_n. it begins by reading the highest two addresses (7ffff h and 7fffe h ), checking for the correct data signature pattern ? aa h and 55 h , respectively. if the data signature pattern is correct, the sii 3114 continues to sequence the address downward, reading a total of sixt een bytes. if the data signature is correct (55 h at 7fffc h ), the last twelve bytes are loaded into the pci configuration space registers. note: if both flash and eeprom are installed, the pci c onfiguration space registers will be loaded with the eeprom?s data. while the sequence is active, the sii 3114 responds to all pci bus accesses with a target retry. d15 d14 d05 d04 d03 d02 d01 d00 fl_addr mem_addr fl_data fl_rd_n fl_wr_n fl_cs_n pci_rst_n t 1 t 2 7ffff 7fffe 7fffd 7fffc 7fffb 7fffa 7fff1 7fff0 figure 8. auto-initialization from flash timing table 11. auto-initialization from flash timing parameter value description t 1 660 ns pci reset to flash auto-initialization cycle begin t 2 9600 ns flash auto-initialization cycle time table 12. flash data description address data byte description 7ffff h d00 data signature = aa h 7fffe h d01 data signature = 55 h 7fffd h d02 aa = 120 ns flash device / else, 240 ns flash device 7fffc h d03 data signature = 55 h 7fffb h d04 pci device id [23:16] 7fffa h d05 pci device id [31:24] 7fff9 h d06 pci class code [15:08] 7fff8 h d07 pci class code [23:16] 7fff7 h d08 pci sub-system vendor id [07:00]
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 23 sii -ds-0103-d table 12. flash data description (continued) address data byte description 7fff6 h d09 pci sub-system vendor id [15:08] 7fff5 h d10 pci sub-system id [23:16] 7fff4 h d11 pci sub-system id [31:24] 7fff3 h d12 sata phy config [07:00] (default: 0xb0) 7fff2 h d13 sata phy config [15:08] (default: 0x80) 7fff1 h d14 sata phy config [23:16] (default: 0x00) 7fff0 h d15 sata phy config [31:24] (default: 0x20) auto-initialization from eeprom the sii 3114 initiates the eeprom detection and configurat ion space loading sequence after the flash read sequence. the sii 3114 supports up to 256-byte eeprom with a 2- wire serial interface. the sequence of operations consists of the following. 1. start condition defined as a high-to-low transition on sdat while sclk is high. 2. control byte = 1010 (control code) + 000 (chip select) + 0 (write address) 3. acknowledge 4. starting address field = 00000000. 5. acknowledge 6. sequential data bytes separated by acknowledges. 7. stop condition. while the sequence is active, the sii 3114 responds to all pci bus accesses with a target retry. fl_cs_n sclk sdat t 1 t 2 s1010000 w p an ddd t 3 figure 9. auto-initialization from eeprom timing table 13. auto-initialization from eeprom timing parameter value description t 1 26.00 s end of auto-initialization from flash to start of auto-initialization from eeprom t 2 2.66 ms auto-initialization from eeprom cycle time t 3 19.26 s eeprom serial clock period table 14. auto-initialization from eeprom timing symbols parameter description s start condition w r/w 0 = write command, 1 = read command a acknowledge d serial data n no-acknowledge p stop condition
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 24 ? 2007 silicon image, inc. table 15. eeprom data description address data byte description 00 h d00 memory present pattern = aa h 01 h d01 memory present pattern = 55 h 02 h d02 data signature = aa h 03 h d03 data signature = 55 h 04 h d04 pci device id [23:16] 05 h d05 pci device id [31:24] 06 h d06 pci class code [15:08] 07 h d07 pci class code [23:16] 08 h d08 pci sub-system vendor id [07:00] 09 h d09 pci sub-system vendor id [15:08] 0a h d10 pci sub-system id [23:16] 0b h d11 pci sub-system id [31:24] 0c h d12 sata phy config [07:00] (default: 0xb0) 0d h d13 sata phy config [15:08] (default: 0x80) 0e h d14 sata phy config [23:16] (default: 0x00) 0f h d15 sata phy config [31:24] (default: 0x20)
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 25 sii -ds-0103-d register definitions this section describes the registers within the sii 3114. pci configuration space the pci configuration space registers define he operation of the sii 3114 on the pci bus. these registers are accessible only when the sii 3114 detects a configuration read or write operation, with its idsel asserted, on the 32-bit pci bus. table 16 outlines the pci configuration space for the sii 3114. table 16. sii 3114 pci configuration space register name address offset 31 16 15 00 access type 00 h device id vendor id r/w 04 h pci status pci command r/w 08 h pci class code revision id r/w 0c h bist header type latency timer cache line size r/w 10 h base address register 0 r/w 14 h base address register 1 r/w 18 h base address register 2 r/w 1c h base address register 3 r/w 20 h base address register 4 r/w 24 h base address register 5 r/w 28 h reserved - 2c h subsystem id subsystem vendor id r/w 30 h expansion rom base address r/w 34 h reserved capabilities ptr r 38 h reserved r/w 3c h max latency min grant interr upt pin interrupt line r/w 40 h reserved configuration r/w 44 h software data register r/w 48 h reserved - 4c h reserved - 50 h reserved - 54 h reserved - 58 h reserved - 5c h reserved - 60 h power management capabilities next item pointer capability id r/w 64 h data reserved functions control and status r/w 68 h reserved - 6c h reserved - 70 h reserved pci bus master status ? channel 0/2 reserved pci bus master command ? channel 0/2 r/w 74 h prd table address ? channel 0/2 r/w 78 h reserved pci bus master status ? channel 1/3 reserved pci bus master command ? channel 1/3 r/w 7c h prd table address ? channel 1/3 r/w 80 h reserved channel 0/2 data transfer mode r/w
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 26 ? 2007 silicon image, inc. table 16. SII3114 pci configuration space (continued) register name address offset 31 16 15 00 access type 84 h reserved channel 1/3 data transfer mode r/w 88 h system configuration st atus system command r/w 8c h system software data r/w 90 h flash memory address ? command + status r/w 94 h reserved flash memory data r/w 98 h eeprom memory address ? command + status r/w 9c h reserved eeprom memory data r/w a0 h reserved channel 0/2 config + status channel 0/2 cmd + status r/w a4 h reserved r/w a8 h reserved r/w ac h reserved r/w b0 h reserved channel 1/3 config + status channel 1/3 cmd + status r/w b4 h reserved r/w b8 h reserved r/w bc h reserved r/w c0 h ba5 indirect address r/w c4 h ba5 indirect access r/w device id ? vendor id address offset: 00 h access type: read /write reset value: 0x3114_1095 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 device id vendor id this register defines the device id and vendor id associated with the sii 3114. the register bits are defined below. ? bit [31:16] : device id (r/w) ? device id. this value in this bit field is determined by any one of three options: 1) this field defaults to 0x3114 to identify the device as a silicon image sii 3114. 2) loaded from an external memory device: if an ex ternal memory device ? flash or eeprom ? is present with the correct signature, the device id is loaded from that device after reset. see ?auto- initialization? section on page 22 for more information. 3) system programmable : if bit 0 of the configuration register (40 h ) is set, the bytes are system programmable. ? bit [15:00] : vendor id (r) ? vendor id. this field defaul ts to 0x1095 to identify the vendor as silicon image.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 27 sii -ds-0103-d pci status ? pci command address offset: 04 h access type: read/write/write-one-to-clear reset value: 0x02b0_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 det par err sig sys err rcvd m abort rcvd t abort sig t abort devsel timing det m data par err fast b-to-b capable reserved 66 mhz capable capabilities list int status reserved int disable fast b-to-b enable serr enable address stepping par error response vga palette memory wr & inv special cycles bus master memory space io space this register defines the various control functions a ssociated with the pci bus. the register bits are defined below. ? bit [31] : det. par err (r/w1c) ? detected parity error. this bit set indicates that the sii 3114 detected a parity error on the pci bus-address or data parity error-while responding as a pci target. ? bit [30] : sig. sys err (r/w1c) ? signaled system e rror. this bit set indicates that the sii 3114 signaled serr on the pci bus. ? bit [29] : rcvd m abort (r/w1c) ? received master abort. this bit set indicates that the sii 3114 terminated a pci bus operation with a master abort. ? bit [28] : rcvd t abort (r/w1c) ? received target abort. this bit set indicates that the sii 3114 received a target abort termination. ? bit [27] : sig. t abort (r/w1c) ? signaled target abort. this bit set indicates that the sii 3114 terminated a pci bus operation with a target abort. ? bit [26:25] : devsel timing (r) ? device select timing. this bit field indicates the devsel timing supported by the sii 3114. the hardwired value is 01 b for medium decode timing. ? bit [24] : det m data par err (r/w1c) ? detected master data parity error. this bit set indicates that the sii 3114, as bus master, detected a parity error on the pci bus. the parity error may be either reported by the target device via perr# on a write operation or by the sii 3114 on a read operation. ? bit [23] : fast b-to-b capable (r) ? fast back-to-back capabl e. this bit is hardwired to 1 to indicate that the sii 3114 is fast back-to-back capable as a pci target. ? bit [22] : reserved (r). ? bit [21] : 66 mhz capable (r) ? 66 mhz pci operation capable. this bit is hardwired to 1 to indicate that the sii 3114 is 66 mhz capable. ? bit [20] : capabilities list (r) ? pci capabilities list. th is bit is hardwired to 1 to indicate that the sii 3114 has a pci power management capabilities register linked at offset 34 h . ? bit [19] : interrupt status (r) ? bit [18:11] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [10] : interrupt disable (r/w). ? bit [09] : fast b-to-b enable (r) ? fast back-to-back enable. this bit is hardwired to 0 to indicate that the sii 3114 does not support fast back-to-back operations as bus master. ? bit [08] : serr enable (r/w) ? serr output enable. this bit set enables the sii 3114 to drive the pci serr# pin when it detects an address parity error. the parity error response bit (06) must also be set to enable serr# reporting. ? bit [07] : address stepping (r) ? address stepping enable. this bit is hardwired to 0 to indicate that the sii 3114 does not support address stepping. ? bit [06] : par error response (r/w) ? parity error response enable. this bit set enables the sii 3114 to respond to parity errors on the pc i bus. if this bit is cleared, the sii 3114 will ignore pci parity errors. ? bit [05] : vga palette (r) ? vga palette snoop enable. this bit is hardwired to 0 to indicate that the sii 3114 does not support vga palette snooping. ? bit [04] : mem wr & inv (r) ? memory write and invalidate enabl e. this bit is hardwired to 0 to indicate that the sii 3114 does not support memory write and invalidate.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 28 ? 2007 silicon image, inc. ? bit [03] : special cycles (r) ? special cycles enable. th is bit is hardwired to 0 to indicate that the sii 3114 does not respond to special cycles. ? bit [02] : bus master (r/w) ? bus master enable. this bit set enables the sii 3114 to act as pci bus master. ? bit [01] : memory space (r/w) ? memory space enable. this bit set enables the sii 3114 to respond to pci memory space access. ? bit [00] : io space (r/w) ? io space enable. this bit set enables the sii 3114 to respond to pci io space access. pci class code ? revision id address offset: 08 h access type: read/write reset value: 0x0180_0002 or 0x0104_0002 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 pci class code revision id this register defines the various control functions a ssociated with the pci bus. the register bits are defined below. ? bit [31:08] : pci class code (r) ? pci class code. this value in this bit field is determined by any one of three options: 1) the default value, set by an external jumper on the fl_addr[00]/class_sel pin: ? if class_sel = 0, the value is 010400h for raid mode ? if class_sel = 1, the value is 018000h for mass storage class 2) loaded from an external memory device: if an ex ternal memory device ? flash or eeprom ? is present with the correct signature, the pci cla ss code is loaded from that device after reset. see ?auto-initialization? section on page 22 for more information. 3) system programmable : if bit 0 of the configuration register (40 h ) is set the three bytes are system programmable. ? bit [07:00] : revision id (r) ? chip revision id. this bit field is hardwired to 02 h for the production chip. bist ? header type ? latency timer ? cache line size address offset: 0c h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 bist header type latenc y timer cache line size this register defines the various control functions a ssociated with the pci bus. the register bits are defined below. ? bit [31:24] : bist (r). this bit field is hardwired to 00 h . ? bit [23:16] : header type (r). this bit field is hardwired to 00 h . ? bit [15:08] : latency timer (r/w). this bit field is used to specify the time in number of pci clocks, the sii 3114 as a master is still allowed to control the pci bus after its grant_l is deasserted. the lower four bits [0b:08] are hardwired to 0 h , resulting in a time granularity of 16 clocks. ? bit [07:00] : cache line size (r/w). this bit field is used to specify the system cacheline size in terms of 32-bit words. the upper 2 bits are not used, resulting a maximum size of 64 32-bit words. with the sii 3114 as a master, initiating a read transaction, it iss ues pci command read multiple in place, when empty space in its fifo is larger than t he value programmed in this register.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 29 sii -ds-0103-d base address register 0 address offset: 10 h access type: read/write reset value: 0x0000_0001 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 base address register 0 001 this register defines the addressing of various control functions within the sii 3114. the register bits are defined below. ? bit [31:03] : base address register 0 (r/w). this regist er defines the i/o space base address for channel 0 task file registers. ? bit [02:00] : base address register 0 (r). this bi t field is not used and is hardwired to 001 b base address register 1 address offset: 14 h access type: read/write reset value: 0x0000_0001 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 base address register 1 01 this register defines the addressing of various control functions within the sii 3114. the register bits are defined below. ? bit [31:02] : base address register 1 (r/w). this regist er defines the i/o space base address for channel 0 device control- alternate status register. ? bit [01:00] : base address register 1 (r). this bi t field is not used and is hardwired to 01 b . base address register 2 address offset: 18 h access type: read/write reset value: 0x0000_0001 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 base address register 2 001 this register defines the addressing of various control functions within the sii 3114. the register bits are defined below. ? bit [31:03] : base address register 2 (r/w). this regist er defines the i/o space base address for channel 1 task file registers. ? bit [02:00] : base address register 2 (r). this bi t field is not used and is hardwired to 001 b .
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 30 ? 2007 silicon image, inc. base address register 3 address offset: 1c h access type: read/write reset value: 0x0000_0001 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 base address register 3 01 this register defines the addressing of various control functions within the sii 3114. the register bits are defined below. ? bit [31:02] : base address register 3 (r/w). this regist er defines the i/o space base address for channel 1 device control- alternate status register. ? bit [01:00] : base address register 3 (r). this bi t field is not used and is hardwired to 01 b . base address register 4 address offset: 20 h access type: read/write reset value: 0x0000_0001 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 base address register 4 0001 this register defines the addressing of various control functions within the sii 3114. the register bits are defined below. ? bit [31:04] : base address register 4 (r/w). this regist er defines the i/o space base address for the pci bus master registers. ? bit [03:00] : base address register 4 (r). this bi t field is not used and is hardwired to 0001 b . base address register 5 address offset: 24 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 base address register 5 0000000000 this register defines the addressing of various control functions within the sii 3114. this register is enabled when input ba5_en is set to one. see description for pi n fl_addr[01]/ba5_en in ?miscellaneous i/o? section on page 16 for more information. the register bits are defined below. ? bit [31:10] : base address register 5 (r/w). this regist er defines the memory space base address for all silicon image driver s pecific functions. ? bit [09:00] : base address register 5 (r). this bi t field is not used and is hardwired to 000 h .
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 31 sii -ds-0103-d subsystem id ? subsystem vendor id address offset: 2c h access type: read/write reset value: 0x3114_1095 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 subsystem id subsystem vendor id this register defines the subsystem id fields associat ed with the pci bus. the register bits are defined below. ? bit [31:16] : subsystem id (r) ? subsystem id. the value in this bit field is determined by any one of three options: 1) the default value of 0x3114 2) loaded from an external memory device: if an ex ternal memory device ? flash or eeprom ? is present with the correct signature, the subsystem id is loaded from that device after reset. see ?auto- initialization? section on page 22 for more information. 3) system programmable: if bit 0 of the configuration register (40 h ) is set the two bytes are system programmable. ? bit [15:00] : subsystem vendor id (r) ? subs ystem vendor id. the value in this bit field is determined by any one of three options: 1) the default value of 0x1095 2) loaded from an external memory device : if an ex ternal memory device ? flash or eeprom ? is present with the correct signature, the subsystem v endor id is loaded from that device after reset. see ?auto-initialization? section on page 22 for more information. 3) system programmable: if bit 0 of the configuration register (40 h ) is set the two bytes are system programmable. expansion rom base address address offset: 30 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 expansion rom base address 000_0000_0000_0000_000 exp rom enable this register defines the expansion rom base address asso ciated with the pci bus. the register bits are defined below. ? bit [31:19] : expansion rom base address (r/w) ? expansi on rom base address. this bit field defines the upper bits of the expansion rom base address. ? bit [18:01] : not used (r). this bit field is hardwired to 00000 h . the minimum expansion rom address range is 512k bytes. ? bit [00] : exp rom enable (r/w) ? expansion rom enable. this bit is set to enable the expansion rom access.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 32 ? 2007 silicon image, inc. capabilities pointer address offset: 34 h access type: read reset value: 0x0000_0060 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved capabilities pointer this register defines the link to a list of new capabilitie s associated with the pci bus. the register bits are defined below. ? bit [31:08] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [07:00] : capabilities pointer (r) ? capabilities pointer. this bit field defaults to 60 h to define the address for the 1 st entry in a list of pci power management capabilities. max latency ? min grant ? interrupt pin ? interrupt line address offset: 3c h access type: read/write reset value: 0x0000_0100 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 max latency min grant inte rrupt pin interrupt line this register defines the various control functions a ssociated with the pci bus. the register bits are defined below. ? bit [31:24] : max latency (r) ? maximum latency. this bit field is hardwired to 00 h . ? bit [23:16] : min grant (r) ? minimum grant. th is bit field is hardwired to 00 h . ? bit [15:08] : interrupt pin (r) ? interrupt pin us ed. this bit field is hardwired to 01 h to indicate that the sii 3114 uses the inta# interrupt. ? bit [07:00] : interrupt line (r/w) ? interrupt line. this bit fi eld is used by the system to indicate interrupt line routing information. the sii 3114 does not use this information. configuration address offset: 40 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved ba5 ind acc ena pci hdr wr ena this register defines the various control functions a ssociated with the pci bus. the register bits are defined below. ? bit [31:02] : reserved (r). this bit field is hardwired to 00000000 h .
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 33 sii -ds-0103-d ? bit [01] : ba5 ind acc ena (r/w) ? ba5 indirect access enabl e. this bit is set to enable indirect access to ba5 address space using configuration space registers c0 h and c4 h (ba5 indirect address and ba5 indirect access). ? bit [00] : pci hdr wr ena (r/w) ? pci configuration header write enable. this bit is set to enable write access to the following registers in the pci configuration header: device id (03-02 h ), pci class code (09- 0b h ), subsystem vendor id (2d-2c h ), and subsystem id (2f-2e h ). software data register address offset: 44 h access type: read/write reset value: undefined 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 software data this register is used by the software for non-rese ttable data storage. the contents are unknown on power-up and are never cleared by any type of reset. power management capabilities address offset: 60 h access type: read only reset value: 0x0622_0001 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 pme support ppm d2 support ppm d1 support auxiliary current dev special init reserved pme clock ppm rev next item pointer capability id this register defines the power management capabilities associated with the pci bus. the register bits are defined below. ? bit [31:27] : pme support (r) ? power management event s upport. this bit field is hardwired to 00 h to indicate that the sii 3114 does not support pme. ? bit [26] : ppm d2 support (r) ? pci power management d2 s upport. this bit is hardwired to 1 to indicate support for the d2 power management state. ? bit [25] : ppm d1 support (r) ? pci power management d1 s upport. this bit is hardwired to 1 to indicate support for the d1 power management state. ? bit [24:22] : auxiliary current (r) ? auxiliary curr ent. this bit field is hardwired to 000 b . ? bit [21] : dev special init (r) ? device special initialization. this bit is hardwired to 1 to indicate that the sii 3114 requires special initialization ? bit [20] : reserved (r). this bit is reserved and returns zero on a read. ? bit [19] : pme clock (r) ? power management event clock. this bit is hardwired to 0. the sii 3114 does not support pme. ? bit [18:16] : ppm rev (r) ? pci power management revision. this bit field is hardwired to 010 b to indicate compliance with the pci power management interface specification revision 1.1. ? bit [15:08] : next item pointer (r) ? pci additional capability ne xt item pointer. this bit field is hardwired to 00 h to indicate that there are no additional items on the capabilities list. ? bit [07:00] : capability id (r) ? pci additional capab ility id. this bit field is hardwired to 01 h to indicate that this capabilities list is a pci power management definition.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 34 ? 2007 silicon image, inc. power management control + status address offset: 64 h access type: read/write reset value: 0x6400_4000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 ppm data reserved pme status ppm data scale ppm data sel pme ena reserved ppm power state this register defines the power management capabilities associated with the pci bus. the register bits are defined below. ? bit [31:24] : ppm data (r) ? pci power management data. this bit field is hardwired to 0x64. ? bit [23:16] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [15] : pme status (r) ? pme status. th is bit is hardwired to 0. the sii 3114 does not support pme. ? bit [14:13] : ppm data scale (r) ? pci power management data scale. this bit field is hardwired to 10 b to indicate a scaling factor of 10 mw. ? bit [12:09] : ppm data sel (r/w) ? pci power management data se lect. this bit field is set by the system to indicate which data field is to be reported through the ppm data bits (although current implementation hardwires the ppm data to indicate 1 watt). ? bit [08] : pme ena (r) ? pme enable. this bit is hardwired to 0. the sii 3114 does not support pme. ? bit [07:02] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [01:00] : ppm power state (r/w) ? pci power management power state. this bit field is set by the system to dictate the current power state: 00 = d0 (normal operation), 01 = d1, 10 = d2, and 11 = d3 (hot). pci bus master ? channel 0/2 address offset: 70 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved pbm simplex pbm dma cap 1 pbm dma cap 0 reserved dma comp pbm error pbm active reserved reserved pbm rd-wr reserved pbm enable this register defines the pci bus ma ster register for channel 0/2 in the sii 3114. the register bits are also mapped to base address 4, offset 00 h , base address 5, offset 00 h , and base address 5, offset 10 h (note that these registers are, however, not ident ical). see ?pci bus master ? channel x ? section on page 53 for bit definitions.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 35 sii -ds-0103-d prd table address ? channel 0/2 address offset: 74 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 prd table address ? channel 0/2 reserved this register defines the prd table a ddress register for channel 0/2 in the sii 3114. the register bits are also mapped to base address 4, offset 04 h and base address 5, offset 04 h . see ?prd table address ? channel x ? section on page 54 for bit definitions. pci bus master ? channel 1/3 address offset: 78 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved pbm simplex pbm dma cap 1 pbm dma cap 0 reserved dma comp pbm error pbm active reserved reserved pbm rd-wr reserved pbm enable this register defines the pci bus ma ster register for channel 1/3 in the sii 3114. the register bits are also mapped to base address 4, offset 08 h , base address 5, offset 08 h , and base address 5, offset 18 h (note that these registers are, however, not ident ical). see ?pci bus master ? channel x ? section on page 53 for bit definitions. prd table address ? channel 1/3 address offset: 7c h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 prd table address ? channel 1/3 reserved this register defines the prd table a ddress register for channel 1/3 in the sii 3114. the register bits are also mapped to base address 4, offset 0c h and base address 5, offset 0c h . see ?prd table address ? channel x ? section on page 54 for bit definitions.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 36 ? 2007 silicon image, inc. data transfer mode ? channel 0/2 address offset: 80 h access type: read/write reset value: 0x0000_0022 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved reserved device 1 transfer mode reserved device 0 transfer mode this register defines the transfer mode register for channel 0/2 in the sii 3114. the register bits are also mapped to base address 5, offset b4 h . see ?data transfer mode ? channel x ? section on page 66 for bit definitions. data transfer mode ? channel 1/3 address offset: 84 h access type: read/write reset value: 0x0000_0022 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved reserved device 1 transfer mode reserved device 0 transfer mode this register defines the transfer mode register for channel 1/3 in the sii 3114. the register bits are also mapped to base address 5, offset f4 h . see ?data transfer mode ? channel x ? section on page 66 for bit definitions. system configuration status ? command address offset: 88 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved chnl3 int block chnl2 int block chnl1 int block chnl0 int block reserved m66en reserved chnl2 module rst chnl3 module rst ff2 module rst ff3 module rst chnl0 module rst chnl1 module rst ff0 module rst ff1 module rst reserved arb module rst pbm module rst this register defines the system confi guration status and command register for the sii 3114. the register bits are also mapped to base address 5, offset 48 h . see ?system configuration status ? command? section on page 57 for bit definitions.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 37 sii -ds-0103-d system software data register address offset: 8c h access type: read/write reset value: undefined 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 system software data this register is used by the software for non-rese ttable data storage. the contents are unknown on power-up and are never cleared by any type of reset. the register bits are also mapped to base address 5, offset 4c h . see ?system software data register? section on page 58 for bit definitions. flash memory address ? command + status address offset: 90 h access type: read/write reset value: 0x0800_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved mem init done mem init mem access start mem access type reserved memory address this register defines the address and command/status register for flash memory interface in the sii 3114. the register bits are also mapped to base address 5, offset 50 h . see ?flash memory address ? command + status? section on page 58 for bit definitions. flash memory data address offset: 94 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved memory data this register defines the data register for flash memory interface in the sii 3114. the register bits are also mapped to base address 5, offset 54 h . see ?flash memory data? section on page 59 for bit definitions.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 38 ? 2007 silicon image, inc. eeprom memory address ? command + status address offset: 98 h access type: read/write reset value: 0x0800_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved mem error mem init done mem init mem access start mem access type reserved mem address this register defines the address and command/status register for eeprom memory interface in the sii 3114. the register bits are also mapped to base address 5, offset 58 h . see ?eeprom memory address ? command + status? section on page 59 for bit definitions. eeprom memory data address offset: 9c h access type: read/write reset value: 0x0000_00xx 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved memory data this register defines the data register for eeprom memory interface in the sii 3114. the register bits are also mapped to base address 5, offset 5c h . see ?eeprom memory data? section on page 60 for bit definitions. channel 0/2 task file configuration + status address offset: a0 h access type: read/write reset value: 0x6515_0101 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved reserved watchdog int ena watchdog ena watchdog timeout interrupt status virtual dma int iordy monitoring reserved channel rst buffered cmd reserved this register defines the task file configurat ion and status register for channel 0/2 in the sii 3114. the register bits are also mapped to base address 5, offset a0 h . see ?channel x task file configuration + status? section on page 65 for bit definitions.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 39 sii -ds-0103-d channel 1/3 task file configuration + status address offset: b0 h access type: read/write reset value: 0x6515_0101 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved reserved watchdog int ena watchdog ena watchdog timeout interrupt status virtual dma int iordy monitoring reserved channel rst buffered cmd reserved this register defines the task file configurat ion and status register for channel 1/3 in the sii 3114. the register bits are also mapped to base address 5, offset e0 h .see ?channel x task file configuration + status? section on page 65 for bit definitions. ba5 indirect address address offset: c0 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved address 00 this register permits the indirect addressing of register s normally referenced using base address 5. any register that is not accessible by any means other that via base address 5 is indirectly addressable. bits 1 and 0 of the indirect address must always be written with zer oes. the following ba5 address ranges are not indirectly accessible, but are accessible either in configurat ion space or via other base address registers: 00?0c h , 80? 8c h , c0?cc h , 200?20c h , 280?28c h , 2c0?2cc h . ba5 indirect access address offset: c4 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 as defined for indirectly accessed register this register provides the indirect access addressed by the ba5 indirect address register. the use of indirect access must be enabled by setting bit 1 of the configuration register (40 h ).
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 40 ? 2007 silicon image, inc. internal register space ? base address 0 access to these registers is modified by the ?shadow? channel 0/2 device select bit. the ?shadow? channel 0/2 device select bit is written from bit 4 of the byte wr itten to the channel 0/2 task file device+head register (06 h ). these registers are 32-bits wide and define the internal operation of the sii 3114. the access types are defined as follows: r=read, w=write, and c=clearable by some write oper ation. access to this register is through the pci i/o space. table 17 shows the internal register space for base 0 addresses. table 17. sii 3114 internal register space ? base address 0 register name address offset 31 16 15 00 access type 00 h starting sector number sector count features (w) error (r) data r/w 04 h command+status device+head cylinder high cylinder low r/w channel 0/2 task file register 0 address offset: 00 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 starting sector number sector c ount features (w) error (r) data (byte access) data (word access) data (dword access) this register defines four of the channel 0/2 task file registers in the sii 3114. the register bits are also mapped to base address 5, offset 80 h . see ?channel x task file register 0? section on page 62 for bit definitions. the value in the ?shadow? channel 0/2 device select bit is used to select the task file registers for either channel 0 (master, bit is 0) or c hannel 2 (slave, bit is 1). channel 0/2 task file register 1 address offset: 04 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 command + status device+head cylinder high cylinder low this register defines four of the channel 0/2 task file registers in the sii 3114. the register bits are also mapped to base address 5, offset 84 h . see ?channel x task file register 1? section on page 62 for bit definitions. except for writing the device+head task file register, the value in the ?shadow? channel 0/2 device select bit is used to select the task file registers for either channel 0 (master; bit is 0) or channel 2 (slave; bit is 1). for writing the device+head task file register, the value being written to bit 4 of the register (the device select bit) is used to select the task file register for either channel 0 (master; bit is 0) or channel 2 (slave ; bit is 1); a 0 is always written to bit 4 of either device+head task file register while the value being written to bit 4 is written to the ?shadow? device select bit.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 41 sii -ds-0103-d internal register space ? base address 1 access to this register is modified by the ?shadow? channel 0/2 device select bit. these registers are 32-bits wide and define the internal operation of the sii 3114. the access types are defined as follows: r=read, w=write, and c=clearable by some write oper ation. access to this register is through the pci i/o space. table 18 shows the internal register space for base 1 addresses. table 18. sii 3114 internal register space ? base address 1 register name address offset 31 16 15 00 access type 00 h reserved device control auxiliary status reserved reserved r/w channel 0/2 task file register 2 address offset: 00 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved device control auxiliary status reserved reserved this register defines one of the channel 0/2 task file registers in the sii 3114. the register bits are also mapped to base address 5, offset 88 h . see ?channel x task file register 2? section on page 63 for bit definitions. the value in the ?shadow? channel 0/2 device select bit is used to select the task file registers for either channel 0 (master; bit is 0) or c hannel 2 (slave; bit is 1).
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 42 ? 2007 silicon image, inc. internal register space ? base address 2 access to these registers is modified by the ?shadow? channel 1/3 device select bit. the ?shadow? channel 1/3 device select bit is written from bit 4 of the byte wri tten to the channel 1/3 task file device+head register (offset 06 h ). these registers are 32-bits wide and define the internal operation of the sii 3114. the access types are defined as follows: r=read, w=write, and c=clearable by some write oper ation. access to this register is through the pci i/o space. table 19 shows the internal register space for base 2 addresses. table 19. sii 3114 internal register space ? base address 2 register name address offset 31 16 15 00 access type 00 h starting sector number sector count features (w) error (r) data r/w 04 h command+status device+head cylinder high cylinder low r/w channel 1/3 task file register 0 address offset: 00 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 starting sector number sector c ount features (w) error (r) data (byte access) data (word access) data (dword access) this register defines four of the channel 1/3 task file registers in the sii 3114. the register bits are also mapped to base address 5, offset c0 h . see ?channel x task file register 0? section on page 62 for bit definitions. the value in the ?shadow? channel 1/3 device select bit is used to select the task file registers for either channel 1 (master; bit is 0) or c hannel 3 (slave; bit is 1). channel 1/3 task file register 1 address offset: 04 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 command + status device+head cylinder high cylinder low this register defines four of the channel 1/3 task file registers in the sii 3114. the register bits are also mapped to base address 5, offset c4 h . see ?channel x task file register 1? section on page 62 for bit definitions. except for writing the device+head task file register, the value in the ?shadow? channel 1/3 device select bit is used to select the task file registers for either channel 1 (master; bit is 0) or channel 3 (slave; bit is 1). for writing the device+head task file register, the value being written to bit 4 of the register (the device select bit) is used to select the task file register for either channel 1 (master; bit is 0) or channel 3 (slave ; bit is 1); a 0 is always
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 43 sii -ds-0103-d written to bit 4 of either device+head task file register while the value being written to bit 4 is written to the ?shadow? device select bit. internal register space ? base address 3 access to this register is modified by the ?shadow? channel 1/3 device select bit. these registers are 32-bits wide and define the internal operation of the sii 3114. the access types are defined as follows: r=read, w=write, and c=clearable by some write oper ation. access to this register is through the pci i/o space. table 20 shows the internal register space for base 3 addresses. table 20. sii 3114 internal register space ? base address 3 register name address offset 31 16 15 00 access type 00 h reserved device control auxiliary status reserved reserved r/w channel 1/3 task file register 2 address offset: 00 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved device control auxiliary status reserved reserved this register defines one of the channel 1/3 task file registers in the sii 3114. the register bits are also mapped to base address 5, offset c8 h . see ?channel x task file register 2? section on page 63 for bit definitions. the value in the ?shadow? channel 1/3 device select bit is used to select the task file registers for either channel 1 (master; bit is 0) or c hannel 3 (slave; bit is 1).
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 44 ? 2007 silicon image, inc. internal register space ? base address 4 access to these registers is modified by the ?shadow? device select bits. these registers are 32-bits wide and define the internal operation of the sii 3114. the access types are defined as follows: r=read, w=write, and c=clearable by some write oper ation. access to this register is through the pci i/o space. table 21 shows the internal register space for base 4 addresses. table 21. sii 3114 internal register space ? base address 4 register name address offset 31 16 15 00 access type 00 h reserved pci bus master status ? channel 0/2 software data pci bus master command ? channel 0/2 r/w 04 h prd table address ? channel 0/2 r/w 08 h reserved pci bus master status ? channel 1/3 reserved pci bus master command ? channel 1/3 r/w 0c h prd table address ? channel 1/3 r/w pci bus master ? channel 0/2 address offset: 00 h access type: read/write reset value: 0x0000_xx00 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved pbm simplex pbm dma cap 1 pbm dma cap 0 reserved chnl 0/2 dma comp pbm error pbm active watchdog chnl 1/3 dma comp software reserved pbm rd-wr reserved pbm enable this register defines the pci bus ma ster register for channel 0/2 in the sii 3114. see ?pci bus master ? channel x ? section on page 53 for bit definitions. the value in the ?shadow? channel 0/2 device select bit is used to control access to the appropriate channel 0 (master; bit is 0) or channel 2 (slave; bit is 1) pci bus master register bits. (the ?shadow? channel 1/3 device sele ct bit controls the channel 1/3 dma comp bit.) prd table address ? channel 0/2 address offset: 04 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 prd table address ? channel 0/2 reserved this register defines the prd table a ddress register for channel 0/2 in the sii 3114. the register bits are also mapped to pci configuration space, offset 74 h and base address 5, offset 04 h . see ?prd table address ? channel x ? section on page 54 for bit definitions. writing to this register address results in both the channel 0 and channel 2 prd table address registers being writt en. the read value is selected based upon the ?shadow? channel 0/2 device select bit.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 45 sii -ds-0103-d pci bus master ? channel 1/3 address offset: 08 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved pbm simplex pbm dma cap 1 pbm dma cap 0 reserved chnl 1/3 dma comp pbm error pbm active reserved reserved pbm rd-wr reserved pbm enable this register defines the pci bus ma ster register for channel 1/3 in the sii 3114. see ?prd table address ? channel x ? section on page 54 for bit definitions. the value in the ?shadow? channel 1/3 device select bit is used to control access to the appropriate channel 1 (master; bit is 0) or channel 3 (slave; bit is 1) pci bus master register bits. prd table address ? channel 1/3 address offset: 0c h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 prd table address ? channel 1/3 reserved this register defines the prd table a ddress register for channel 1/3 in the sii 3114. the register bits are also mapped to pci configuration space, offset 7c h and base address 5, offset 0c h . see ?prd table address ? channel x ? section on page 54 for bit definitions. writing to this register address results in both the channel 1 and channel 3 prd table address registers being writt en. the read value is selected based upon the ?shadow? channel 1/3 device select bit.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 46 ? 2007 silicon image, inc. internal register space ? base address 5 these registers are 32-bits wide and define the internal operation of the sii 3114. the access types are defined as follows: r=read, w=write, and c=clearable by some write operation. access to this register is through the pci memory space. base address 5 accesses can be dis abled by setting input ba5_en low. table 22 shows the internal register space for base 5 addresses. table 22. sii 3114 internal register space ? base address 5 register name address offset 31 16 15 00 access type 00 h reserved pci bus master status ? channel 0 software data pci bus master command ? channel 0 r/w 04 h prd table address ? channel 0 r/w 08 h reserved pci bus master status ? channel 1 reserved pci bus master command ? channel 1 r/w 0c h prd table address ? channel 1 r/w 10 h pci bus master status ? channel 1 pci bus master status2 ? channel 0 software data pci bus master command2 ? channel 0 r/w 14 h reserved - 18 h reserved pci bus master status2 ? channel 1 reserved pci bus master command2 ? channel 1 r/w 1c h reserved - 20 h prd address ? channel 0 r 24 h pci bus master byte count ? channel 0 r 28 h prd address ? channel 1 r 2c h pci bus master byte count ? channel 1 r 30 h reserved - 34 h reserved - 38 h reserved - 3c h reserved - 40 h fifo valid byte count ? channel 0 fifo wr request control ? channel 0 fifo rd request control ? channel 0 r/w 44 h fifo valid byte count ? channel 1 fifo wr request control ? channel 1 fifo rd request control ? channel 1 r/w 48 h system configuration st atus system command r/w 4c h system software data r/w 50 h flash memory address ? command and status r/w 54 h reserved gpio control flash memory data r/w 58 h eeprom memory address ? command and status r/w 5c h reserved eeprom memory data r/w 60 h fifo port ? channel 0 r/w 64 h reserved - 68 h fifo byte1 write pointer ? channel 0 fifo byte1 read pointer ? channel 0 fifo byte0 write pointer ? channel 0 fifo byte0 read pointer ? channel 0 r
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 47 sii -ds-0103-d register name address offset 31 16 15 00 access type 6c h fifo byte3 write pointer ? channel 0 fifo byte3 read pointer ? channel 0 fifo byte2 write pointer ? channel 0 fifo byte2 read pointer ? channel 0 r 70 h fifo port ? channel 1 r/w 74 h reserved - 78 h fifo byte1 write pointer ? channel 1 fifo byte1 read pointer ? channel 1 fifo byte0 write pointer ? channel 1 fifo byte0 read pointer ? channel 1 r 7c h fifo byte3 write pointer ? channel 1 fifo byte3 read pointer ? channel 1 fifo byte2 write pointer ? channel 1 fifo byte2 read pointer ? channel 1 r 80 h channel 0 tf starting sector number channel 0 tf sector count channel 0 tf features channel 0 tf error channel 0 tf data r/w 84 h channel 0 tf command+status channel 0 tf device+head channel 0 tf cylinder high channel 0 tf cylinder low r/w 88 h reserved channel 0 tf device control auxiliary status reserved reserved r/w 8c h channel 0 read ahead data r/w 90 h channel 0 tf starting sector number2 channel 0 tf sector count2 channel 0 tf features2 channel 0 tf error2 reserved r/w 94 h channel 0 tf cmd channel 0 tf device+head2 channel 0 tf cylinder high2 channel 0 tf cylinder low2 r/w 98 h channel 0 tf cylinder high 2 ext channel 0 tf cylinder low 2 ext channel 0 tf starting sector 2 ext channel 0 tf sector count 2 ext r/w 9c h channel 0 virtual dma/pio read ahead byte count r/w a0 h reserved channel 0 config + status channel 0 cmd + status r/w a4 h reserved r/w a8 h reserved r/w ac h reserved r/w b0 h channel 0 test register r/w b4 h reserved channel 0 data transfer mode r/w b8 h reserved - bc h reserved - c0 h channel 1 tf starting sector number channel 1 tf sector count channel 1 tf features channel 1 tf error channel 1 tf data r/w c4 h channel 1 tf command+status channel 1 tf device+head channel 1 tf cylinder high channel 1 tf cylinder low r/w c8 h reserved channel 1 tf device control auxiliary status reserved r/w cc h channel 1 read ahead data r/w d0 h channel 1 tf starting sector number2 channel 1 tf sector count2 channel 1 tf features2 channel 1 tf error2 reserved r/w d4 h channel 1 tf cmd channel 1 tf device+head2 channel 1 tf cylinder high2 channel 1 tf cylinder low2 r/w
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 48 ? 2007 silicon image, inc. register name address offset 31 16 15 00 access type d8 h channel 1 tf cylinder high 2 ext channel 1 tf cylinder low 2 ext channel 1 tf starting sector 2 ext channel 1 tf sector count 2 ext r/w dc h channel 1 virtual dma/pio read ahead byte count r/w e0 h reserved channel 1 config + status channel 1 cmd + status r/w e4 h reserved r/w e8 h reserved r/w ec h reserved r/w f0 h channel 1 test register r/w f4 h reserved channel 1 data transfer mode r/w f8 h reserved - fc h reserved - 100 h scontrol (channel 0) r/w 104 h sstatus (channel 0) r 108 h serror (channel 0) r/c 10c h sactive (channel 0) r/w 110 h reserved - 114 h reserved - 118 h reserved - 11c h reserved - 120 h reserved - 124 h reserved - 128 h reserved - 12c h reserved - 130 h reserved - 134 h reserved - 138 h reserved - 13c h reserved - 140 h smisc (channel 0) r/w 144 h phy configuration r/w 148 h sien (channel 0) r/w 14c h sfiscfg (channel 0) r/w 150 h reserved - 154 h reserved - 158 h reserved - 15c h reserved - 160 h rxfis0 (channel 0) r 164 h rxfis1 (channel 0) r 168 h rxfis2 (channel 0) r 16c h rxfis3 (channel 0) r 170 h rxfis4 (channel 0) r 174 h rxfis5 (channel 0) r 178 h rxfis6 (channel 0) r 17c h reserved - 180 h scontrol (channel 1) r/w 184 h sstatus (channel 1) r/w 188 h serror (channel 1) r/c
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 49 sii -ds-0103-d register name address offset 31 16 15 00 access type 18c h sactive (channel 1) r/w 190 h reserved - 194 h reserved - 198 h reserved - 19c h reserved - 1a0 h reserved - 1a4 h reserved - 1a8 h reserved - 1ac h reserved - 1b0 h reserved - 1b4 h reserved - 1b8 h reserved - 1bc h reserved - 1c0 h smisc (channel 1) r/w 1c4 h phy configuration (same as 144 h ) r/w 1c8 h sien (channel 1) r/w 1cc h sfiscfg (channel 1) r/w 1d0 h reserved - 1d4 h reserved - 1d8 h reserved - 1dc h reserved - 1e0 h rxfis0 (channel 1) r 1e4 h rxfis1 (channel 1) r 1e8 h rxfis2 (channel 1) r 1ec h rxfis3 (channel 1) r 1f0 h rxfis4 (channel 1) r 1f4 h rxfis5 (channel 1) r 1f8 h rxfis6 (channel 1) r 1fc h reserved - 200 h reserved pci bus master status ? channel 2 software data pci bus master command ? channel 2 r/w 204 h prd table address ? channel 2 r/w 208 h reserved pci bus master status ? channel 3 reserved pci bus master command ? channel 3 r/w 20c h prd table address ? channel 3 r/w 210 h pci bus master status ? channel 1 pci bus master status2 ? channel 2 software data pci bus master command2 ? channel 2 r/w 214 h summary interrupt status - 218 h reserved pci bus master status2 ? channel 3 reserved pci bus master command2 ? channel 3 r/w 21c h reserved - 220 h prd address ? channel 2 r 224 h pci bus master byte count ? channel 2 r 228 h prd address ? channel 3 r 22c h pci bus master byte count ? channel 3 r 230 h reserved -
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 50 ? 2007 silicon image, inc. register name address offset 31 16 15 00 access type 234 h reserved - 238 h reserved - 23c h reserved - 240 h fifo valid byte count ? channel 2 fifo wr request control ? channel 2 fifo rd request control ? channel 2 r/w 244 h fifo valid byte count ? channel 3 fifo wr request control ? channel 3 fifo rd request control ? channel 3 r/w 248 h system configuration st atus system command r/w 24c h system software data r/w 250 h - 25c h reserved r/w 260 h fifo port ? channel 2 r/w 264 h reserved - 268 h fifo byte1 write pointer ? channel 2 fifo byte1 read pointer ? channel 2 fifo byte0 write pointer ? channel 2 fifo byte0 read pointer ? channel 2 r 26c h fifo byte3 write pointer ? channel 2 fifo byte3 read pointer ? channel 2 fifo byte2 write pointer ? channel 2 fifo byte2 read pointer ? channel 2 r 270 h fifo port ? channel 3 r/w 274 h reserved - 278 h fifo byte1 write pointer ? channel 3 fifo byte1 read pointer ? channel 3 fifo byte0 write pointer ? channel 3 fifo byte0 read pointer ? channel 3 r 27c h fifo byte3 write pointer ? channel 3 fifo byte3 read pointer ? channel 3 fifo byte2 write pointer ? channel 3 fifo byte2 read pointer ? channel 3 r 280 h channel 2 tf starting sector number channel 2 tf sector count channel 2 tf features channel 2 tf error channel 2 tf data r/w 284 h channel 2 tf command+status channel 2 tf device+head channel 2 tf cylinder high channel 2 tf cylinder low r/w 288 h reserved channel 2 tf device control auxiliary status reserved reserved r/w 28c h channel 2 read ahead data r/w 290 h channel 2 tf starting sector number2 channel 2 tf sector count2 channel 2 tf features2 channel 2 tf error2 reserved r/w 294 h channel 2 tf cmd channel 2 tf device+head2 channel 2 tf cylinder high2 channel 2 tf cylinder low2 r/w 298 h channel 2 tf cylinder high 2 ext channel 2 tf cylinder low 2 ext channel 2 tf starting sector 2 ext channel 2 tf sector count 2 ext r/w 29c h channel 2 virtual dma/pio read ahead byte count r/w 2a0 h reserved channel 2 config + status channel 2 cmd + status r/w 2a4 h reserved r/w 2a8 h reserved r/w 2ac h reserved r/w 2b0 h channel 2 test register r/w
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 51 sii -ds-0103-d register name address offset 31 16 15 00 access type 2b4 h reserved channel 2 data transfer mode r/w 2b8 h reserved - 2bc h reserved - 2c0 h channel 3 tf starting sector number channel 3 tf sector count channel 3 tf features channel 3 tf error channel 3 tf data r/w 2c4 h channel 3 tf command+status channel 3 tf device+head channel 3 tf cylinder high channel 3 tf cylinder low r/w 2c8 h reserved channel 3 tf device control auxiliary status reserved r/w 2cc h channel 3 read ahead data r/w 2d0 h channel 3 tf starting sector number2 channel 3 tf sector count2 channel 3 tf features2 channel 3 tf error2 reserved r/w 2d4 h channel 3 tf cmd channel 3 tf device+head2 channel 3 tf cylinder high2 channel 3 tf cylinder low2 r/w 2d8 h channel 3 tf cylinder high 2 ext channel 3 tf cylinder low 2 ext channel 3 tf starting sector 2 ext channel 3 tf sector count 2 ext r/w 2dc h channel 3 virtual dma/pio read ahead byte count r/w 2e0 h reserved channel 3 config + status channel 3 cmd + status r/w 2e4 h reserved r/w 2e8 h reserved r/w 2ec h reserved r/w 2f0 h channel 3 test register r/w 2f4 h reserved channel 1 data transfer mode r/w 2f8 h reserved - 2fc h reserved - 300 h scontrol (channel 2) r/w 304 h sstatus (channel 2) r 308 h serror (channel 2) r/c 30c h sactive (channel 2) r/w 310 h reserved - 314 h reserved - 318 h reserved - 31c h reserved - 320 h reserved - 324 h reserved - 328 h reserved - 32c h reserved - 330 h reserved - 334 h reserved - 338 h reserved - 33c h reserved - 340 h smisc (channel 2) r/w 344 h reserved r/w 348 h sien (channel 2) r/w
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 52 ? 2007 silicon image, inc. register name address offset 31 16 15 00 access type 34c h sfiscfg (channel 2) r/w 350 h reserved - 354 h reserved - 358 h reserved - 35c h reserved - 360 h rxfis0 (channel 2) r 364 h rxfis1 (channel 2) r 368 h rxfis2 (channel 2) r 36c h rxfis3 (channel 2) r 370 h rxfis4 (channel 2) r 374 h rxfis5 (channel 2) r 378 h rxfis6 (channel 2) r 37c h reserved - 380 h scontrol (channel 3) r/w 384 h sstatus (channel 3) r/w 388 h serror (channel 3) r/c 38c h sactive (channel 3) r/w 390 h reserved - 394 h reserved - 398 h reserved - 39c h reserved - 3a0 h reserved - 3a4 h reserved - 3a8 h reserved - 3ac h reserved - 3b0 h reserved - 3b4 h reserved - 3b8 h reserved - 3bc h reserved - 3c0 h smisc (channel 3) r/w 3c4 h reserved r/w 3c8 h sien (channel 3) r/w 3cc h sfiscfg (channel 3) r/w 3d0 h reserved - 3d4 h reserved - 3d8 h reserved - 3dc h reserved - 3e0 h rxfis0 (channel 3) r 3e4 h rxfis1 (channel 3) r 3e8 h rxfis2 (channel 3) r 3ec h rxfis3 (channel 3) r 3f0 h rxfis4 (channel 3) r 3f4 h rxfis5 (channel 3) r 3f8 h rxfis6 (channel 3) r 3fc h reserved -
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 53 sii -ds-0103-d pci bus master ? channel x address offset: 00 h / 08 h / 200 h / 208 h access type: read/write reset value: 0x0000_xx00 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved pbm simplex pbm dma cap 1 pbm dma cap 0 reserved chnl x dma comp pbm error pbm active watchdog chnl x+1 dma comp software reserved pbm rd-wr reserved int steering pbm enable this register defines the pci bus master register for channel x in the sii 3114. the register bits are defined below. ? bit [31:24] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [23] : pbm simplex (r) ? pci bus master simplex only. this read-only bit field is hardwired to zero to indicate that all channels can operate as pci bus master at any time. ? bit [22] : pbm dma cap 1 (r/w) ? pci bus master dma cap able ? device 1. this bit field has no effect. the device is always capable of dma as a pci bus master. ? bit [21] : pbm dma cap 0 (r/w) ? pci bus master dma cap able ? device 0. this bit field has no effect. the device is always capable of dma as a pci bus master. ? bit [20:19] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [18] : channel x dma comp (r/w1c) ? channel x dma completion interrupt. during write dma operation, this bit set indicates that the channel x interrupt has been asserted and all data has been written to system memory. during read dma, this bit set indicates that the channel x interrupt has been asserted. this bit must be cleared (write 1 to clear) by software when set during dma operation (pbm enable, bit 0 is set). ? bit [17] : pbm error (r/w1c) ? pci bus master error ? channel x . this bit set indicates that a pci bus error occurred while the sii 3114 was bus master. additional information is available in the pci status register in pci configuration space. ? bit [16] : pbm active (r) ? pci bus master active ? channel x . this bit set indicates that the sii 3114 is currently active in a data transfer as pci bus mast er. this bit is cleared by the hardware when all data transfers have completed or pbm enable bit is not set. ? bit[15] : watchdog timer status (r) ? this bit is an ored result of bit 12 in the four channel task file timing + configuration + status registers. when se t indicates that one or more of the four channel watchdog timers has expired. this bit appears only in the channel 0 (offset 00 h ) and channel 2 (offset 200 h ) registers; this bit is reserved in the channel 1 (offset 08 h ) and channel 3 (offset 208 h ) registers. ? bit[14] : channel x+1 interrupt status (r) ? this bit is a copy of the channel x dma completion interrupt (bit 18) in the pci bus master (this) register for channel x+1 . this bit appears only in the channel 0 (offset 00 h ) and channel 2 (offset 200 h ) registers; this bit is reserved in the channel 1 (offset 08 h ) and channel 3 (offset 208 h ) registers. ? bit [13:08] : software data (r/w) ? system software data storage. this bit field is used for read/write data storage by the system. the properties of this bit fiel d are detailed below. this bit field appears only in the channel 0 (offset 00 h ) and channel 2 (offset 200 h ) registers; this bit field is reserved in the channel 1 (offset 08 h ) and channel 3 (offset 208 h ) registers. table 23. software data byte, base address 5, offset 00 h bit location default description [13:12] xx b not cleared by any reset [11:10] 00 b cleared by pci reset [09:08] xx b cleared only by a d0-d3 power state change ? bit [07:04] : reserved (r). this bit field is reserved and returns zeros on a read.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 54 ? 2007 silicon image, inc. ? bit [03] : pbm rd-wr (r/w) ? pci bus master read-write cont rol. this bit is set to specify a dma write operation from channel x to system memory. this bit is clear ed to specify a dma read operation from system memory to the channel x device. ? bit [02] : reserved (r). this bit is reserved and returns zero on a read. ? bit [01] : interrupt steering (r/w). this bit is set to 1 to allow interrupts from all four channels. if the bit is a 0 (the default), only interrupts from the channel sele cted by the ?shadow? device select bit are enabled. this bit appears only in the channel 2 (offset 200 h ) register; this bit is reserved in the channel 0 (offset 00 h ), channel 1 (offset 08 h ), and channel 3 (offset 208 h ) registers. ? bit [00] : pbm enable (r/w) ? pci bus master enable ? channel x . this bit is set to enable pci bus master operations for channel x . pci bus master operations can be hal ted by clearing this bit, but will erase all state information in the control logic. if this bit is cleared while the pci bus master is active, the operation will be aborted and the data discarded. while this bit is set, accessing channel x task file or pio data registers will be terminated with target-abort. prd table address ? channel x address offset: 04 h / 0c h / 204 h / 20c h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 prd table address reserved this register defines the prd table address register for channel x in the sii 3114. the register bits are defined below. ? bit [31:02] : prd table address (r/w) ? physical region descriptor table address. this bit field defines the descriptor table base address. ? bit [01:00] : reserved (r). this bit field is reserved and returns zeros on a read. pci bus master2 ? channel x address offset: 10 h / 18 h / 210 h / 218 h access type: read/write reset value: 0x0808_xx00 (chnl 0/2) / 0x0008_0000 (chnl 1/3) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 chnl x+1 pbm simplex chnl x+1 pbm dma cap 0 chnl x+1 pbm dma cap 1 chnl x+1 watchdog chnl x+1 buffer empty chnl x+1 dma comp chnl x+1 pbm error chnl x+1 pbm active watchdog chnl x+1 dma comp software reserved sataint x+1 reserved reserved for chnl 1/3 chnl x pbm simplex chnl x pbm dma cap 1 chnl x pbm dma cap 0 chnl x watchdog chnl x buffer empty chnl x dma comp chnl x pbm error chnl x pbm active reserved for chnl 1/3 sataint x pbm rd-wr reserved pbm enable this register defines the second pc i bus master register for channel x in the sii 3114. the system must access these register bits through this address to enable the large block transfer mode. the register bits are defined below. ? bit [31:24] : (r) these bits are copies of pci bus master channel x+1 bits. this bit field (and bits 15 to 5) appears only in the channel 0 (offset 10 h ) and channel 2 (offset 210 h ) registers; this bit field is reserved in the channel 1 (offset 18 h ) and channel 3 (offset 218 h ) registers. ? bit [23] : pbm simplex (r) ? pci bus master simplex only. this read-only bit field is hardwired to zero to indicate that all channels can operate as pci bus master at any time.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 55 sii -ds-0103-d ? bit [22] : pbm dma cap 1 (r/w) ? pci bus master dma cap able ? device 1. this bit field has no effect. the device is always capable of dma as a pci bus master. ? bit [21] : pbm dma cap 0 (r/w) ? pci bus master dma cap able ? device 0. this bit field has no effect. the device is always capable of dma as a pci bus master. ? bit [20] : watchdog (r): this bit is a copy of bit 12 in channel x task file configuration + status register. ? bit [19] : channel x buffer empty (r). this bit set indicates the channel x fifo is empty. ? bit [18] : channel x dma comp (r/w1c) ? channel x dma completion interrupt. during write dma operation, this bit set indicates that the channel x interrupt has been asserted and all data has been written to system memory. during read dma, this bit set indicates that the channel x interrupt has been asserted. this bit must be cleared by software (write 1 to clear) when set during dma operation (pbm enable, bit 0 is set). ? bit [17] : pbm error (r/w1c) ? pci bus master error ? channel 0. this bit set indicates that a pci bus error occurred while the sii 3114 was bus master. additional information is available in the pci status register in pci configuration space. ? bit [16] : pbm active (r) ? pci bus master active ? channel 0. this bit set indicates that the sii 3114 i s currently active in a data transfer as pci bus mast er. this bit is cleared by the hardware when all data transfers have completed or pbm enable bit is not set. ? bit[15] : watchdog timer status ( r ) ? this bit is an ored result of bit 12 in the four channel task file timing + configuration + status registers. when se t indicates that one or more of the four channel watchdog timers has expired. ? bit[14] : channel x+1 dma completion interrupt status ( r ) ? this bit is a copy of the channel x dma completion interrupt (bit 18) in the pci bus master register for channel x+1 . ? bit [13:08] : software data (r/w) ? system software data storage. this bit field is used for read/write data storage by the system. the properties of this bit field are detailed below. table 24. software data byte, base address 5, offset 10 h bit location default description [13:12] xx b not cleared by any reset [11:10] 00 b cleared by pci reset [09:08] xx b cleared only by a d0-d3 power state change ? bit [07] : reserved (r). this bit is reserved and returns zeros on a read. ? bit [06] : sataint x+1 ? this bit is the logical or of all serial ata interrupt sources for channel x+1 . ? bit [05] : reserved (r). this bit is reserved and returns zeros on a read. ? bit [04] : sataint x ? this bit is the logical or of all serial ata interrupt sources for channel x . ? bit [03] : pbm rd-wr (r/w) ? pci bus master read-write cont rol. this bit is set to specify a dma write operation from channel x to system memory. this bit is clear ed to specify a dma read operation from system memory to the channel x device. ? bit [02:01] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [00] : pbm enable (r/w) ? pci bus master enable ? channel x . this bit is set to enable pci bus master operations for channel x . pci bus master operations can be hal ted by clearing this bit, but will erase all state information in the control logic. if this bit is cleared while the pci bus master is active, the operation will be aborted and the data discarded. while this bit is set, accessing channel x task file or pio data registers will be terminated with target-abort.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 56 ? 2007 silicon image, inc. summary interrupt status address offset: 214 h access type: read/write reset value: 0x0808_0808 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 chnl0 interrupt status reserved sataint0 chnl0 watchdog chnl0 buffer empty chnl0 dma comp chnl0 pbm error chnl0 pbm active chnl1 interrupt status reserved sataint1 chnl1 watchdog chnl1 buffer empty chnl1 dma comp chnl1 pbm error chnl1 pbm active chnl2 interrupt status reserved sataint2 chnl2 watchdog chnl2 buffer empty chnl2 dma comp chnl2 pbm error chnl2 pbm active chnl3 interrupt status reserved sataint3 chnl3 watchdog chnl3 buffer empty chnl3 dma comp chnl3 pbm error chnl3 pbm active this register provides a single register containing a summary of the interrupt status of all four channels. the interrupt status bits are replicas of bit 11 of the ta sk file configuration + status register. the other bits are replicas of bits in the pci bus master2 registers. prd address ? channel x address offset: 20 h / 28 h / 220 h / 228 h access type: read only reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 prd address this register reflects the current dma address and uses for diagnostic purposes only. ? bit [31:00] : prd address (r) ? this field is the current dma address. pci bus master byte count ? channel x address offset: 24 h / 2c h / 224 h / 22c h access type: read only reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 end of table byte count high byte count low this register defines the byte count regist er in the pci bus master logic for channel x in the sii 3114. the register bits are defined below. ? bit [31] : end of table (r). this bit set indicates that this is the last entry in the prd table. ? bit [30:16] byte count high (r). this bit field is the prd entry byte count extension for large block transfer mode. under generic mode, this bit field is reserved and returns zeros on a read. ? bit [15:00] byte count low (r). this bit field refl ects the current dma byte count value.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 57 sii -ds-0103-d fifo valid byte count and control ? channel x address offset: 40 h / 44 h / 240 h / 244 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved fifo valid byte count reserved fifo wr req ctrl reserved fifo rd req ctrl this register defines the fifo valid byte c ount register and pci bus request control for channel x in the sii 3114. the register bits are defined below. the fifo write request control and fifo read request cont rol fields in these registers provide threshold settings for establishing when pci requests are made to the arbiter. the arbiter arbitrates among the four requests using fixed priority with masking. the fixed pr iority is, from highest to lowest: channel 0; channel 1; channel 2; and channel 3. if multiple requests are pres ent, the arbiter grants pci bus access to the highest priority channel that is not masked. that channel?s r equest is then masked as long as any unmasked requests are present. ? bit [31:25] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [24:16] : fifo valid byte count (r). this bit field prov ides the valid byte count for the data fifo for channel x . a value of 000 h indicates empty, while a value of 100 h indicates a full fifo with 256 bytes. ? bit [15:11] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [10:08] : fifo wr req ctrl (r/w) ? fifo write request control. this bit field defines the fifo threshold to assign priority when requesting a pci bus write operation. a value of 00 h indicates that write request priority is set whenever the fifo contai ns greater than 32 bytes, while a value of 07 h indicates that write request priority is set whenever the fifo contains greater than 7x32 bytes (=224 bytes). this bit field is useful when multiple dma channels are competing for the pci bus. ? bit [07:03] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [02:00] : fifo rd req ctrl (r/w) ? fifo read request control. this bit field defines the fifo threshold to assign priority when requesti ng a pci bus read operation. a value of 00 h indicates that read request priority is set whenever the fifo has greater than 32 bytes available space, while a value of 07 h indicates that read request priority is set whenever the fifo has greater than 7x32 bytes (=224 bytes) available space. this bit field is useful when mu ltiple dma channels are competing for accessing the pci bus. system configuration status ? command address offset: 48 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved chnl3 int block chnl2 int block chnl1 int block chnl0 int block reserved m66en reserved chnl2 module rst chnl3 module rst ff2 module rst ff3 module rst chnl0 module rst chnl1 module rst ff0 module rst ff1 module rst reserved arb module rst pbm module rst this register defines the system confi guration status and command register for the sii 3114. the register bits are defined below. ? bit [31:26] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [25] : chnl3 int block (r/w) ? channel3 interrupt block. this bit is set to block interrupts from channel 3.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 58 ? 2007 silicon image, inc. ? bit [24] : chnl2 int block (r/w) ? channel 2 interrupt block. this bit is set to block interrupts from channel 2. ? bit [23] : chnl1 int block (r/w) ? channel 1 interrupt block. this bit is set to block interrupts from channel 1. ? bit [22] : chnl0 int block (r/w) ? channel 0 interrupt block. this bit is set to block interrupts from channel 0. ? bit [21:17] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [16] : m66en (r) ? pci 66mhz enable. this bit reflects input pin m66en. ? bit [15:12] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [11] : chnl2 module rst (r/w) ? channel 2 module reset. this bit is set to reset the interface logic for channel 2. ? bit [10] : chnl3 module rst (r/w) ? channel 3 module reset. this bit is set to reset the interface logic for channel 3. ? bit [09] : ff2 module rst (r/w) ? ff2 module reset. this bit is set to reset the fifo logic in channel 2. ? bit [08] : ff3 module rst (r/w) ? ff3 module reset. this bit is set to reset the fifo logic in channel 3. ? bit [07] : chnl0 module rst (r/w) ? channel 0 module reset. this bit is set to reset the interface logic for channel 0. ? bit [06] : chnl1 module rst (r/w) ? channel 1 module reset. this bit is set to reset the interface logic for channel 1. ? bit [05] : ff0 module rst (r/w) ? ff0 module reset. this bit is set to reset the fifo logic in channel 0. ? bit [04] : ff1 module rst (r/w) ? ff1 module reset. this bit is set to reset the fifo logic in channel 1. ? bit [03:02] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [01] : arb module rst (r/w) ? arb module reset. this bi t is set to reset the internal logic for the arbiter. ? bit [00] : pbm module rst (r/w) ? pbm module reset. this bit is set to reset the internal logic for the pci bus master state machine. system software data register address offset: 4c h / 24c h access type: read/write reset value: undefined 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 system software data this register is used by the software for non-rese ttable data storage. the contents are unknown on power-up and are never cleared by any type of reset. flash memory address ? command + status address offset: 50 h access type: read/write reset value: 0x0800_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved mem init done mem init mem access start mem access type reserved memory address this register defines the address and command/status register for flash memory interface in the sii 3114. the register bits are defined below.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 59 sii -ds-0103-d ? bit [31:28] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [27] : memory init done (r) ? this bit set indicates that the memory initialization sequence is done. the memory sequence is activated upon the release of reset. ? bit [26] : mem init (r) ? memory initialized. this bit set i ndicates that the memory was initialized properly (a correct data sequence was read from the flash.) ? bit [25] : mem access start (r/w) ? memory access start. this bit is set to initiate an operation to flash memory. this bit is cleared when the operation is complete. ? bit [24] : mem access type (r/w) ? memory access type. this bit is set to define a read operation from flash memory. this bit is cleared to def ine a write operation to flash memory. ? bit [23:19] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [18:00] : memory address (r/w). this bit field is pr ogrammed with the address for a flash memory read or write access. flash memory data address offset: 54 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved gpio control memory data this register defines the data register for the flash memory and gpio interface in the sii 3114. the system writes to this register for a write operation to flash memory, and reads from this register on a read operation from flash memory. the gpio control bits control operation of the fl ash data lines for use as g eneral purpose i/o. gpio is only enabled when the gpioen pin is pulled high. ? bit [31:16] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [15:08] : gpio control ? the bits of this field are written to control the output type for corresponding flash data lines; if a bit is a 1 the corresponding output is an open drain output (only driven low); if a 0 the corresponding output is always driven. the bits of this field, when read, report signal transition detection on the corresponding flash data input; reading the register resets the transition detect bits. ? bit [07:00] : memory data (r/w) ? flash memory data. this bit field is used for flash write data on a write operation, and returns the flash read data on a read operation. this register defines the data register for the flash me mory and gpio interface in the taurus. the gpio control bits control operation of the flash data lines for use as general purpose i/o. gpio is enabled when the gpioen pin is pulled high. eeprom memory address ? command + status address offset: 58 h access type: read/write reset value: 0x0800_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved mem error mem init done mem init mem access start mem access type reserved mem address this register defines the address and command/status register for eeprom memory interface in the sii 3114. the register bits are defined below. ? bit [31:29] : reserved (r). this bit field is reserved and returns zeros on a read.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 60 ? 2007 silicon image, inc. ? bit [28] : mem error (r/w1c) ? memory access error. this bit set indicates that the eeprom interface logic detects three naks from the memory device (eeprom most likely not present.) ? bit [27] : mem init done (r) ? memory initialization done. this bit set indicates that the memory initialization sequence is done. the memory initializat ion sequence is activated upon the release of reset. ? bit [26] : mem init (r) ? memory initialized. this bit set i ndicates that the memory was initialized properly (a correct data sequence was read from the eeprom.) ? bit [25] : mem access start (r/w) ? memory access start. this bit is set to initiate an operation to eeprom memory. this bit is clear ed when the operation is complete. ? bit [24] : mem access type (r/w) ? memory access type. this bit is set to define a read operation from eeprom memory. this bit is cleared to def ine a write operation to eeprom memory. ? bit [23:08] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [07:00] : memory address (r/w). this bit field is programmed with the address for an eeprom memory read or write access. eeprom memory data address offset: 5c h access type: read/write reset value: 0x0000_00xx 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved memory data this register defines the data register for eeprom memory interface in the sii 3114. the system writes to this register for a write operation to eeprom memory, and reads from this register on a read operation from eeprom memory. the register bits are defined below. ? bit [31:08] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [07:00] : memory data (r/w) ? eeprom memory data. this bit field is used for eeprom write data on a write operation, and returns the eeprom read data on a read operation. fifo port ? channel x address offset: 60 h / 70 h / 260 h / 270 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 fifo port this register defines the direct access register for the fifo port of channel x in the sii 3114. this register is used for hardware debugging purposes only. the system can read from or write to this register for direct access to the data fifo between the pci bus and channel x . while dma is active, reading this register will be terminated with target-abort.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 61 sii -ds-0103-d fifo pointers1? channel x address offset: 68 h / 78 h / 268 h / 278 h access type: read only reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 fifo byte 1 wr pointer fifo byte 1 rd pointer fifo byte 0 wr pointer fifo byte 0 rd pointer this register provides visibility into the data fifo for channel x in the sii 3114. the data fifo is organized as a four byte-wide x 64 deep memory array. there are separa te write and read pointers for each of the byte slices. this register is used for hardware debugging purposes only. the register bits are defined below. ? bit [31:24] : fifo byte 1 wr pointer (r). this bit fi eld provides the write pointer for byte 1. ? bit [23:16] : fifo byte 1 rd pointer (r). this bit fi eld provides the read pointer for byte 1. ? bit [15:08] : fifo byte 0 wr pointer (r). this bit fi eld provides the write pointer for byte 0. ? bit [07:00] : fifo byte 0 rd pointer (r). this bit fi eld provides the read pointer for byte 0. fifo pointers2? channel x address offset: 6c h / 7c h / 26c h / 27c h access type: read only reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 fifo byte 3 wr pointer fifo byte 3 rd pointer fifo byte 2 wr pointer fifo byte 2 rd pointer this register provides visibility into the data fifo for channel x in the sii 3114. the data fifo is organized as a four byte-wide x 64 deep memory array. there are separa te write and read pointers for each of the byte slices. this register is used for hardware debugging purposes only. the register bits are defined below. ? bit [31:24] : fifo byte 3 wr pointer (r). this bit fi eld provides the write pointer for byte 3. ? bit [23:16] : fifo byte 3 rd pointer (r). this bit fi eld provides the read pointer for byte 3. ? bit [15:08] : fifo byte 2 wr pointer (r). this bit fi eld provides the write pointer for byte 2. ? bit [07:00] : fifo byte 2 rd pointer (r). this bit fi eld provides the read pointer for byte 2.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 62 ? 2007 silicon image, inc. channel x task file register 0 address offset: 80 h / c0 h / 280 h / 2c0 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 starting sector number sector c ount features (w) error (r) data (byte access) data (word access) data (dword access) this register contains some of the channel x task file registers and provides access to the data bus. access to this register is determined by the pci bus byte enables at the time of the read or write operation, i.e., what is accessed is determined by the address and by the size of the access. the register bits are defined below. ? bit [31:00] : data (r/w). this bit field provides access to the channel x data. this register can be accessed as an 8-bit, 16-bit, or 32-bit word. ? bit [31:24] : task file starting sector number (r/w). this bit field defines the channel x task file starting sector number register. access to this bit field is permi tted if the pci bus byte enable is active for this byte only. ? bit [23:16] : task file sector count (r/w). this bit field defines the channel x task file sector count register. access to this bit field is permitted if the pci bus byte enable is active for this byte only. ? bit [15:08] : task file features (w). this write-only bit field defines the channel x task file features register. access to this bit field is permitted if the pci bus byte enable is active for this byte only. ? bit [15:08] : task file error (r). this read-only bit field defines the channel x task file error register. access to this bit field is permitted if the pci bus byte enable is active for this byte only. channel x task file register 1 address offset: 84 h / c4 h / 284 h / 2c4 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 command + status device+head cylinder high cylinder low this register defines one of the channel x task file registers in the sii 3114. access to these bit fields is permitted if the pci bus byte enabl es are active for one byte only. the channel 0 device select bit (bit 4 of the byte, bit 20 of this register) must be 0 for proper operation of the channel 0 and channel 2 registers when accessed via base address 5. the channel 1 device select bit (bit 4 of the byte, bit 20 of this register) must be 0 for pr oper operation of the channel 1 and channel 3 registers when accessed via base address 5. the device select bit in the channel 2 or channel 3 device+head task file is ignored. the register bits are defined below. ? bit [31:24] : task file command (w). this write-only bit field defines the channel x task file command register. ? bit [31:24] : task file status (r). this read-only bit field defines the channel x task file status register. ? bit [23:16] : task file device+head (r/w). this bit field defines the channel x task file device and head register.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 63 sii -ds-0103-d ? bit [15:08] : task file cylinder high (r/w). this bit field defines the channel x task file cylinder high register. ? bit [07:00] : task file cylinder low (r/w). this bit field defines the channel x task file cylinder low register. channel x task file register 2 address offset: 88 h / c8 h / 288 h / 2c8 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved device control auxiliary status reserved reserved this register defines one of the channel x task file registers in the sii 3114. access to these bit fields is permitted if the pci bus byte enable is active for one byte only. the register bits are defined below. ? bit [31:24] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [23:16] : task file device control (w). this bit field defines the channel x task file device control register. ? bit [23:16] : task file auxiliary status (r). this bit field defines the channel x task file auxiliary status register. ? bit [15:00] : reserved (r). this bit field is reserved and returns zeros on a read. channel x read ahead data address offset: 8c h / cc h / 28c h / 2cc h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 read ahead data this register defines the read ahead data port for pio transfers on channel x in the sii 3114. this register can be accessed as an 8-bit, 16-bit, or 32-bit word, depending upon t he pci bus byte enables. the data written to this register must be zero-aligned.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 64 ? 2007 silicon image, inc. channel x task file register 0 ? command buffering address offset: 90 h / d0 h / 290 h / 2d0 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 starting sector number sect or count features reserved this register defines one of the channel x task file registers used for command buffered accesses in the sii 3114. the register bits are defined below. ? bit [31:24] : task file starting sector number (r/w). this bit field defines the channel x task file starting sector number register. ? bit [23:16] : task file sector count (r/w). this bit field defines the channel x task file sector count register. ? bit [15:08] : task file features (w). this write-only bit field defines the channel x task file features register. ? bit [07:00] : reserved (r). this bit field is reserved and returns zeros on a read. channel x task file register 1 ? command buffering address offset: 94 h / d4 h / 294 h / 2d4 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 command device+head cyli nder high cylinder low this register defines one of the channel x task file registers used for command buffered accesses in the sii 3114. the register bits are defined below. the channel 0 and channel 1 device select bits (bit 4 of the byte, bit 20 of this register) must be 0 for proper operation of the task file registers when accessed via base address 5. the device select bits in the channel 2 or channel 3 device+head task file is ignored. ? bit [31:24] : task file command (w). this write-only bit field defines the channel x task file command register. ? bit [23:16] : task file device+head (r/w). this bit field defines the channel x task file device and head register. ? bit [15:08] : task file cylinder high (r/w). this bit field defines the channel x task file cylinder high register. ? bit [07:00] : task file cylinder low (r/w). this bit field defines the channel x task file cylinder low register.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 65 sii -ds-0103-d channel x extended task file register ? command buffering address offset: 98 h / d8 h / 298 h / 2d8 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 cylinder high ext cylinder low ext st art sector ext sector count ext this register defines one of the ide channel x task f ile registers used for command buffered accesses in the sii 3114. the register bits are defined below. if this regist er is written, the ide channel x task file device+head byte of the ide channel x task file register 1 ? command buffering register must not be written. ? bit [31:24] : task file cylinder high ext(r/w). this write-only bit field defines the channel x task file extended cylinder high register. ? bit [23:16] : task file cylinder low ext (r/w). this bit field defines the channel x task file extended cylinder low register. ? bit [15:08] : task file start sector ext (r/w). this bit field defines the channel x task file extended start sector register. ? bit [07:00] : task file sector count ext (r/w). this bit field defines the channel x task file extended sector count register. channel x virtual dma/pio read ahead byte count address offset: 9c h / dc h / 29c h / 2dc h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 virtual dma/pio read ahead byte count not used this register defines the read ahead byte count regi ster for virtual dma and pio read ahead transfers on channel x in the sii 3114. in virtual dma mode (pci bus master dma with pio transfers), all 32 bits are used as the word-aligned byte count. in pio read ahead mode, only the lower 16 bits are used as the word-aligned byte count. channel x task file configuration + status address offset: a0 h / e0 h / 2a0 h / 2e0 h access type: read/write reset value: 0x6515_0101 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved reserved watchdog int ena watchdog ena watchdog timeout interrupt status virtual dma int reserved channel rst buffered cmd reserved this register defines the task file conf iguration and status register for channel x in the sii 3114. the register bits are defined below. ? bit [31:16] : reserved (r). this bit field is reserved and defaults to 0x6515.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 66 ? 2007 silicon image, inc. ? bit [15] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [14] : watchdog int ena (r/w) ? channel x watchdog interrupt enable. this bit is set to enable an interrupt when the watchdog timer expires. ? bit [13] : watchdog ena (r/w) ? channel x watchdog timer enable. this bit is set to enable the watchdog timer for channel x . this bit is cleared to disable the watchdog timer. ? bit [12] : watchdog timeout (r/w1c) ? channel x watchdog timer timeout. this bit set indicates that the watchdog timer for channel x timed out. when enabled, and iordy monitoring bit is also enabled, during channel x pio operation, the watchdog counter starts counting when iordy signal is deasserted. if after 256 pci clocks, the iordy signal is still deasserted, the watchdog timer expires, this bit is set, the sii 3114 continues its operation, and stops monitoring iordy signal. software writes one to clear this bit. once this bit is cleared, the sii 3114 starts monitoring iordy on channel x again. ? bit [11] : interrupt status (r) ? channel x interrupt status. this bit set indicates that an interrupt is pending on channel x . this bit provides real-time status of the channel x interrupt. ? bit [10] : virtual dma int (r) ? channel x virtual dma completion interrupt. this bit set indicates that the virtual dma data transfer has completed. this bit is cleared when pbm enable (bit 0 in pci bus master ? channel x ) is cleared. ? bit [09:03] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [02] : channel rst (r/w) ? channel x reset. when this bit is set, channel x rst signal is asserted. ? bit [01] : buffered cmd (r) ? channel x buffered command active. this bit set indicates that a buffered command is currently active. this bit is set when the first command byte is written to the command buffer. this bit is cleared when all of the task file byte s, including the command byte, have been written to the device. ? bit [00] : reserved (r). this bit is reserved and returns one on a read. data transfer mode ? channel x address offset: b4 h / f4 h / 2b4 h / 2f4 h access type: read/write reset value: 0x0000_0022 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved reserved device 1 transfer mode reserved device 0 transfer mode this register defines the transfer mode register for channel 0 in the sii 3114. the register bits are defined below. ? bit [31:08] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [07:06] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [05:04] : device 1 transfer mode (r/w) ? channel x device 1 data transfer mode. this bit field is used to set the data transfer mode during pci dma transfer: 00 b or 01 b = pio transfer; 10 b or 11 b = dma transfer. ? bit [03:02] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [01:00] : device 0 transfer mode (r/w) ? channel x device 0 data transfer mode. this bit field is used to set the data transfer mode during pci dma transfer: 00 b or 01 b = pio transfer; 10 b or 11 b = dma transfer.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 67 sii -ds-0103-d serial ata scontrol address offset: 100 h / 180 h / 300 h / 380 h access type: read/write reset value: 0x0000_0010 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved pmp reserved ipm spd det this register is the scontrol register as defined by the serial ata specification (section 10.1.3). ? bit [31:20] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [19:16] : pmp - this field is the 4-bit value to be placed in the port multiplier port field of all transmitted fises. ? bit [15:12] : reserved (r). this bit field is reserved (for the spm field) and returns zeros on a read. ? bit [11:08] : ipm ? this field identifies the interface power management states that may be invoked via the serial ata interface power management capabilities. value definition 0000 no interface power management restrict ions (partial and slumber modes enabled) 0001 transitions to the partial pow er management state are disabled 0010 transitions to the slumber pow er management state are disabled 0011 transitions to both the partial and slum ber power management st ates are disabled others reserved ? bit [07:04] : spd ? this field identifies the highest allowed communication speed the interface is allowed to negotiate. value definition 0000 no restrictions 0001 limit to generation 1 (1.5 gbit/s) (default value) others reserved ? bit [03:00] : det ? this field controls host adapter device detection and interface initialization. value action 0000 no action 0001 ata reset is generated until another value is written to the field 0100 no action others reserved, no action
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 68 ? 2007 silicon image, inc. serial ata sstatus address offset: 104 h / 184 h / 304 h / 384 h access type: read reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved ipm spd det this register is the sstatus register as defined by the serial ata specification (section 10.1.1). ? bit [31:12] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [11:08] : ipm ? this field identifies the curr ent interface power management state. value definition 0000 device not present or communication not established 0001 interface in active state 0010 interface in partia l power management state 0110 interface in slumber power management state others reserved ? bit [07:04] : spd ? this field identifies the negotiated interface communication speed. value definition 0000 no negotiated speed 0001 generation 1 communication rate (1.5 gbit/s) others reserved ? bit [03:00] : det ? this field indicates the interface device detection and phy state. value action 0000 no device detected and phy communication not established 0001 device presence detected but phy communication not established 0011 device presence detected and phy communication established 0100 phy in offline mode as a result of the inte rface being disabled or running in a bist loopback mode others reserved, no action until a device is detected (ipm and det fields become nonzero), the sii 3114 issues a comreset every 100 milliseconds.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 69 sii -ds-0103-d serial ata serror address offset: 108 h / 188 h / 308 h / 388 h access type: read/clear reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 r r r r r r f t s h c d b w i n rrrr epct r r r r r r mi diag err this register is the serror register as defined by the serial ata specification (section 10.1.2). ? bit [31:16] : diag ? this field contains bits defined as shown in the following table. writing a 1 to the register bit clears the b, c, f, n, h, and w bits. table 25. serror register bits (diag field) bit definition description b 10b to 8b decode error latched decode error or di sparity error from the serial ata phy c crc error latched crc error from the serial ata phy d disparity error n/a, always 0; this erro r condition is combined with the decode error and reported as b error f unrecognized fis type latched unrecognized fis error from the serial ata link i phy internal error n/a, always 0 n phyrdy change indicates a change in t he status of the serial ata phy h handshake error latched handshake error from the serial ata phy r reserved always 0 s link sequence error n/a, always 0 t transport state transition error n/a, always 0 w comwake latched comwake status from the serial ata phy ? bit [15:00] : err ? this field contains bits defined as shown in the following table. the err field is not implemented; all bits are always 0. table 26. serror register bits (err field) bit definition description c non-recovered persistent communication erro r or data integrity error n/a, always 0 e internal error n/a, always 0 i recovered data integrity error n/a, always 0 m recovered communications error n/a, always 0 p protocol error n/a, always 0 r reserved always 0 t non-recovered transient data in tegrity error n/a, always 0
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 70 ? 2007 silicon image, inc. serial ata sactive address offset: 10c h / 18c h / 30c h / 38c h access type: read/write 1/clear reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 sactive bits the bits of this register may be written with a 1, but are cleared if the corresponding bits of the second dword of a fis are set when the sdevice bits fis is received. all 32 bits may be cleared by writing 0x0000_0000 to the register; individual bits may not be cleared except by the hardware. smisc address offset: 140 h / 1c0 h / 340 h / 3c0 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 fis_done transmit_fis transmit_ok ifis_ok intrlckfis reject_if accept_if rx_ifis sdb pterr scr_dis cont_dis vs_lock_abort fpdmawr dmainen dmaouten transmit_bist devdrvn nienfis_dis srst comwake pm_fiscfg pm_locken reffismode pmchg pmmode reserved pmreq this register contains bits for controlling seri al ata power management, comwake, loopback modes, and fis transfers. ? bit [31] : fis_done (r/w) ? this bit is used to indicate to the link logic that all the data for the transparent fis has been transferred and that the link can proceed to close out the fis. this is used in transparent fis transmission. please refer to the ?fis support? section on page 85 for more details. ? bit [30] : transmit_fis (w)? this bit is used to signal t he link logic to start the process of transmitting a transparent fis. please refer to the ?fis support? section on page 85 for more details. ? bit [29] : transmit_ok (r)? this bit is used in transparent fis transmission. it is used by the link to signal to the host that the current transparent fis has been successfully transferred to the device, and that r_ok has been received. ? bit [28] : ifis_ok (r)? this bit is used in the reception of interlocked fises. this bit is set by the link logic to inform the host that the current interlock ed fis has been successfully received with no errors. ? bit [27] : intrlckfis (r)? this bit is set to indicate to the host driver that the link has detected an the arrival of an interlocked fis and that the host should set up the dma engine to start transfer of data ? bit [26] : reject_ifis (w)? this bit is set by the host driver to indicate to the link that the current interlocked fis should be rejected. the link logic will respond to the device with an r_err when the complete fis has been received. ? bit [25] : accept_ifis (w)? this bit is set by the host driver to indicate to the link that the current interlocked fis should be accepted. the link logic will respond to the device with r_ok ? bit [24] : rx_ifis (w)? this bit is set by the host driver to inform the link/transport logic that the host has set up the dma engine to transfer the incoming interlocked fis and that the dma cycles can begin ? bit [23] : sdb (r) ? this bit indicates that a set device bits fis has been received ? bit [22] : pterr (r) ? this bit indicates that a protocol e rror has occurred. an interrupt will be generated if bit 20 of sien is set. ? bit [21] : scr_dis (r/w)? this bit disables the scrambling of data on the serial ata bus. this is used only for debugging purposes and should not be changed by the user
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 71 sii -ds-0103-d ? bit [20] : cont_dis (r/w)? setting this bit disables the cont primitive, i.e., the sii 3114 will always send the actual primitive instead of a cont followed by random data. ? bit [19] : vs_lock_abort (r/w)? this bit controls the changes to the entries in the command protocol table upon receiving a vs_lock command. if this bit is set, all command protocol table will be cleared. if this bit is not set, the command protocol table will not be cleared in the vs_lock state. ? bit [18] : fpdmawr (w)? setting this bit initiates a dma write transfer ? bit [17] : dmainen(r/w)? this bit enables read dma operati ons for first party dma or transparent fis operation. ? bit [16] : dmaouten (r/w)? this bit enables write dma operat ions for first party dma or transparent fis operation. ? bit [15] : reserved (r/w). this bit is reserved and returns zero on a read. always write 0 to these bits. ? bit [14] : devdrvn (r/w) ? this bit enables the protocol to be solely determined by fises from the device. ? bit [13] : nienfis_dis (r/w)? if this bit is set, a control r egister fis will not be sent in response to a change in nien. ? bit [12] : reserved (w). always write 0 to these bits. ? bit [11] : comwake/clear_bsy (r/w)? when the serial at a interface is in partial or slumber mode, setting this bit (to 1) asserts comwake on the serial ata bus. when the serial ata interface is on and an interlocked fis is received, setting this bit (to 1) clears bsy in the ata status. ? bit [10:09] : pm_fiscfg[1:0] (r/w)? configuration for interp reting fises with a different port multiplier port number from that specified in scontrol. ? bit [08] : pm_locken (r/w)? if set, no sync is sent after a dma activate fis, a pio setup fis for pio out, or an interlocked fis when dmaouten (bit 16) is set. ? bit [07] : regfismode (r/w) ? if set, received register fis will not be used to update task file if bsy = drq = 0. ? bit [06] : pmchg (r/w1c)? this bit reports a change in the power management mode. this bit corresponds to the interrupt enabled by bit 26 of sien. this bit is cleared by writing a 1. ? bit [05:04] : pmmode (r)? these bits report the power management mode status: bit 5 corresponds to slumber mode; bit 4 to partial mode. a transition on either of these bits causes a power management mode change interrupt. ? bit [03:02] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [01:00] : pmreq (w) ? these bits initiate power management requests: setting bit 1 will send a slumber mode request to the device; setti ng bit 0 will send a partial mode request to the device. serial ata phy configuration address offset: 144 h access type: read/write reset value: 0x2000_80b0 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 reserved bypass oob reserved tx_swing_1 reserved tx_swing_0 reserved the phy configuration register is auto-initialized from external flash or eeprom. the bit definitions are as follows: ? bit[31:22] : reserved. the values of these bits should not be changed from their defaults otherwise erratic operation may result ? bit[21] : bypass oob sequence. if the bit set to 1, all channel tx outputs random pattern data. ? bit[20] : reserved. the value of this bits should not be changed from their defaults otherwise erratic operation may result ? bit[19] : tx_swing_1: this bit, together with tx_swing_0, sets the nominal output amplitude for the transmitter
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 72 ? 2007 silicon image, inc. ? bit[18:14] : reserved. the values of these bits should not be changed from their defaults otherwise erratic operation may result ? bit[13] : tx_swing_0: this bit, together with tx_swing_1, se ts the nominal output swing for the transmitter. the available combinations are as follows: tx_swing_1 tx_swing_0 nominal output swing 0 0 500mv 0 1 600mv 1 0 700mv 1 1 800mv ? bit[12:0] : reserved. the values of these bits should not be changed from their defaults otherwise erratic operation may result. sien address offset: 148 h / 1c8 h / 348 h / 3c8 h access type: read/write reset value: 0x0000_0000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved transmit_ok ifis_ok intrlckfis pmchg f reserved sdb h c pterr b w reserved n reserved this register contains bits for enabling interrupts. ? bit [31:30] : reserved (r). this bit field is reserved and returns zeros on a read. ? bit [29] : transmit_ok ? this bit enables an interrupt upon the assertion of the transmit_ok bit in the smisc register. ? bit [28] : ifis_ok ? this bit enables an interrupt upon the assertion of the ifis_ok bit in the smisc register. ? bit [27] : intrlckfis ? this bit enables an interrupt upon the assertion of the intrlckfis bit in the smisc register. ? bit [26] : pmchg ? this bit enables an interrupt upon a power management mode change. the interrupt is reported in bit 6 of smisc. ? bit [25] : f ? this bit enables an interrupt upon the assertion of the f bit in the diag field of the serror register. ? bit [24] : reserved (r). this bit is reserved and returns zero on a read. ? bit [23] : sdb ? this bit enables an interrupt upon the assertion of the sdb bit in the smisc register. ? bit [22] : h ? this bit enables an interrupt upon the assertion of the h bit in the diag field of the serror register. ? bit [21] : c ? this bit enables an interrupt upon the assertion of the c bit in the diag field of the serror register. ? bit [20] : pterr ? this bit enables the pterr interrupt reported in smisc bit 22. ? bit [19] : b ? this bit enables an interrupt upon the assertion of the b bit in the diag field of the serror register. ? bit [18] : w ? this bit enables an interrupt upon the assertion of the w bit in the diag field of the serror register. ? bit [17] : reserved (r). this bit is reserved and returns zeros on a read. ? bit [16] : n ? this bit enables an interrupt upon the assertion of the n bit in the diag field of the serror register. ? bit [15:00] : reserved (r). this bit field is reserved and returns zeros on a read.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 73 sii -ds-0103-d sfiscfg address offset: 14c h / 1cc h / 34c h / 3cc h access type: read/write reset value: 0x1040_1555 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 reserved fis27cfg fis34cfg fis39cfg fis41cfg fis46cfg fis58cfg fis5fcfg fisa1cfg fisa6cfg fisb8cfg fisbfcfg fisc7cfg fisd4cfg fisd9cfg fisocfg this register contains bits for controlling serial at a fis reception. see on page 86 for explanation of the configuration bits. rxfis0-rxfis6 address offset: 160 h ?178 h / 1e0 h ?1f8 h / 360 h ?378 h / 3e0 h ?3f8 h access type: read reset value: 0x????_???? 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 fis dword these registers contain 7 dwords from a serial ata fis reception.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 74 ? 2007 silicon image, inc. programming sequences the programming sequence for the sii 3114 is about the same as for the sii 3112 or sii 3512. however, sii 3114 supports up to four sata devices (instead of two for the others). in order to minimize the legacy bios code changes, the sii 3114 uses ?master/slave? type of emulation for the register mapping of base address register 0 ~ 4 ( between sata device 0 and device 2 or sata device 1 and device 3). therefore, the programmer will not be able to access sata device 0 and device 2 (or device 1 and device 3) at the same time when bar 0~4 are used to a ccess the devices. sata device 0 is equivalent to legacy primary master device, sata device 1 is equivalent to legacy secondary master device, sata device 2 is equivalent to legacy primary slave device, and sata devic e 3 is equivalent to legacy secondary slave device. in order to access all four sata devices simultaneous ly, bar5 registers must be used. they have a similar structure to the previous 2 channel controllers for the first 512 bytes (for device 0 and device 1), but they have an additional 512 bytes of registers to duplicate the register structures for the additional two sata channels (device 2 and device 3). when bar5 registers are used to access all four sata devic es simultaneously, the interrupt steering bit at bit 1 in bar5 offset 200h must be set. the interrupt steering bit mu st be reset when ?master/slave? type of emulation is used. the reset value for this bit is 0. this bit must be remained set for simultaneous 4 channels operation. any write operation to the bar5 offset 200h register should mask the "interrupt steering" bit and not to reset it by accident. recommended initialization sequence for the sii 3114 the recommended initialization sequence for the sii 3114 is detailed below. initialize pci configuration space registers: ? initialize base address register 0 with the address of an 8-byte range in i/o space. ? initialize base address register 1 with the address of a 4-byte range in i/o space. ? initialize base address register 2 with the address of an 8-byte range in i/o space. ? initialize base address register 3 with the address of a 4-byte range in i/o space. ? initialize base address register 4 with the address of a 16-byte range in i/o space. ? initialize base address register 5 with t he address of a 1024-byte range in memory space. ? to enable the bios expansion rom, initialize the ex pansion rom base address register with the address of a 512kb range in memory space. ? enable i/o space access, memory space access, and bus master operation by setting bits [2:0] of the pci command register. note: the preceding configuration space register initializat ion is normally done by the motherboard bios in pc type systems. if the arbiter?s default fifo read/write request thresholds are not suitable for the application they may be changed via the fifo valid byte count and control channel x regi ster. the read threshold is defined by bits [05:00], and the write threshold is defined by bits [13:08] in the fi fo valid byte count and control ? channel x register. in most environments, setting these bit fields to zero re sults in the best utilization of the pci bus by the sii 3114 controller. if interrupt driven operation is not desired, set bits [23:22] of the sy stem configuration status and command register to block interrupts from reaching the pci bus.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 75 sii -ds-0103-d serial ata device initialization this section provides a general overview of the steps nec essary to initialize a serial ata device before it can be used for read/write operations. select the serial ata device. the device is sele cted by programming bits [23:16] in the channel x task file register 1 register. if interrupt driven operation is des ired, ensure that interrupts are enabled by writing 0 to bits [23:16] of the channel x task file register 2 register. for ata devices only: issue the initialize device parameters command by ? programming bits [23:16] in the channel x task file 0 register with the number of logical sectors per logical track. ? programming bits [23:16] in the channel x task file 1 register with the maximum head number. ? programming bits [31:24] in the channel x task file register 1 register with the value = 91 h . ? wait for the command to complete. this can be accomplished by waiting for an interrupt if interrupts have been enabled at both the controller and the device. if interrupts are not enabled, command completion can be detected by polling bits [31:24] of the channel x task file register 1 register until the busy bit is no longer asserted. if the device supports read/write multiple commands, issue the set multiple mode command by: ? programming bits [23:16] in the channel x task file 0 register with the number of sectors per block to use on the following read/write multiple commands. ? programming bits [31:24] in the channel x task file register 1 register with the value = c6 h . ? wait for the command to complete (see above). for both ata and atapi devices: set device transfer mode by: ? programming bits [15:08] in the channel x task file 0 register with the value 03 h to ?set the transfer mode based on value in sector count register?. ? programming bits [23:16] in the channel x task file 0 register to the desired transfer mode. the settings are defined below: 08 h = pio mode 0 09 h = pio mode 1 0a h = pio mode 2 0b h = pio mode 3 0c h = pio mode 4 20 h = multiword dma mode 0 21 h = multiword dma mode 1 22 h = multiword dma mode 2 40 h = ultra dma mode 0 41 h = ultra dma mode 1 42 h = ultra dma mode 2 43 h = ultra dma mode 3 44 h = ultra dma mode 4 45 h = ultra dma mode 5 46 h = ultra dma mode 6 ? programming bits [31:24] in the channel x task file register 1 register with the value = ef h . ? wait for the command to complete (see above).
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 76 ? 2007 silicon image, inc. in order to use the controller?s dma capabilit y to perform the data transfer for an ata/atapi command, the controller needs to be configured for the transfer mode to use when transferring data to or from the ata bus. the data transfer mode is set by programming bits [1:0] of the channel x data transfer mode register. the tr ansfer mode select values are listed below: 00 b = pio/virtual dma mode (the "interface" betw een the device and the controller is setup for "pio mode", but the pci interface is setup for dma transfer). 10 b = dma mode (the "interface" between the device and the controller is setup for "dma mode", and the pci interface is also setup for dma transfer). note: if the "interface" between the device and the controller is setup for "pio mode", and the pci interface is also setup for pio transfer, there is no need to change these two bits. issue ata command the following describes the sequence to issue a read/write type command to an ata device. 1. select the device. the device is selected by programming bits [23:16] in the channel x task file register 1 register. 2. set the number of sectors to be transferred by programming bits [23:16] of the channel x task file register 0 register. 3. set the location of data to be transferred. the location is defined by programming the following: bits [31:24] in the channel x task file register 0 register define the starting sector. bits [23:16] in the channel x task file register 1 register define the device and head value. bits [15:08] in the channel x task file regist er 1 register define the cylinder high value. bits [07:00] in the channel x task file regist er 1 register define the cylinder low value. 4. issue the read/write pio/dma command by progr amming bits [31:24] in the channel x task file register 1 register with the command desired. pio mode read/write operation once the sii 3114 is initialized via the initialization sequenc e described in the ?recommended initialization sequence for the SII3114 ? section, the ata device has been initialized for pio mode data transfer per the guidelines in the ?serial ata device initialization? se ction, and the controller channel has been initialized for pio mode data transfer, pio read/write operations ma y be performed by following the programming sequence described below. issue a pio read/write command to device following the steps in issue ata command section above. read operation wait until a channel interrupt (bit 11 in the channel x ta sk file timing + configuration + status register is set). read the device status at bits [31:24] in the channel x task file register 1 register to clear the device interrupt and determine if there was error. if no error, continue to read data via the channel x task file register 0 register, until the expected number of sectors of data per interrupt are read. repeat the above three steps until all data for the read command has been transferred or an error has been detected. write operation wait until bit 27(drq) in the channel x task file register 1 register is set. continue to write data via the channel x task file register 0 register until the expected number of sectors of data per interrupt are written. wait until a channel interrupt (bit 11 in the channel x ta sk file timing + configuration + status register is set).
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 77 sii -ds-0103-d read the device status at bits [31:24] in the channel x task file register 1 register to clear the device interrupt and determine if there was error. if no error, repeat the previous four steps until a ll data for the write command has been transferred or an error has been detected. watchdog timer operation the purpose of the watchdog timer is to prevent the hos t system from hanging because a device operating in pio mode stopped responding to task file accesses. if, during a task file access by the host, the device negates iordy and then stops responding, the host will hang waiting for the access to complete. it is this type of hang, that the watchdog timer is designed to protect against. the watchdog timer monitors the length of time the io rdy signal is negated. if the watchdog timer detects that the iordy signal has remained negated longer than the watchdog timeout period (approximately 1000 pci clocks), the watchdog timer will force the task file access cycle to complete, and set the watchdog timeout bit in the channel x task file timing + configuration + status register. the data associated with a timed out access should be considered invalid. additionally, the watchdog ti mer can be configured to generate an interrupt when a timeout is detected by setting bit 14 of the channel x task file timing + configuration + status register. the watchdog timer feature is disabled by default. in addition to the controller channel initialization specif ied previously, add the following two steps to enable the watchdog timer: ? enable the watchdog timer by setting bit 13 of the channel x task file timing + config + status register. ? if an interrupt is desired whenever the watchdog time s out, enable the watchdog interrupt by setting bit 14 of the channel x task file timing + config + status register. the following programming sequences are needed for each pio mode read/write operation with the watchdog timer enabled: issue a read/write pio command to the ata drive fo llowing the steps in ?issue ata command? section on page 76. read operation wait for a channel interrupt. if controller interrupts are disabled, poll for the interrupt by reading the channel x task file timing + configuration + status register. if bit 12 is set, a watchdog timeout has occurred. if bit 11 is set, the ata device is interrupting. if the watchdog timeout bit is set, write 1 to bit 12 in the channel x task file timing + configuration + status register to clear watchdog timeout status. the watchdog timeout represents a fatal error as far as the current ata command is concerned. a course of action that might be appropriate at th is point might be to reset and reinitialize the ata channel and then retrying the command that failed. if the ata device interrupt bit is set, read the device status at bits [31:24] in the channel x task file register 1 register to clear the device interrupt and determine if there was an error. write 1 to bit 18 of the pci bus master ? channel x register to clear the ata interrupt. if the ata device is not reporting an error, continue to read data via the channel x task file register 0 register, until the expected number of sectors of data per interrupt are read. repeat the read operation steps until all data for t he read command has been transferred or an error has been detected.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 78 ? 2007 silicon image, inc. write operation wait until bit 27(drq) in the channel x task file register 1 register is set. continue to write data via the channel x task file register 0 register until the expected number of sectors of data per interrupt are written. wait for a channel interrupt. if controller interrupts are disabled, poll for the interrupt by reading the channel x task file timing + configuration + status register. if bit 12 is se t, a watchdog timeout has occurred. if bit 11 is set, the ata device is interrupting. if the watchdog timeout bit is set, write 1 to bit 12 in the channel x task file timing + configuration + status register to clear watchdog timeout status. the watchdog timeout represents a fatal error as far as the current ata command is concerned. a course of action that might be appropriate at th is point might be to reset and reinitialize the ata channel and then retrying the command that failed. if the ata device interrupt bit is set, read the device status at bits [31:24] in the channel x task file register 1 register to clear the device interrupt and determine if there was an error. write 1 to bit 18 of the pci bus master ? channel x register to clear the ata interrupt. if no error, repeat the write operation steps until all data for the write command has been transferred or an error has been detected. pio mode read ahead operation read ahead operation allows the controller to ?pre-fetch? dat a and store it in the controller?s channel fifo, where it will later be retrieved by the host. this mode of oper ation has the potential to speed-up pio data transfers by not forcing the host to wait the programmed pio cycle ti me for every access to the task file data register. the amount of any speed increase will depend on the pio mode in use, the characteristics of the host pci bus, as well as the speed of the host processor. to use the controller?s pio read ahead capability, make the following changes to the ?read operation? portion of the ?pio mode read/write operation? and ?watchdog timer operation? sections: ? just prior to retrieving the read data, set the r ead ahead byte count by programming bits [15:00] in the channel x virtual dma/pio read ahead byte count regist er with the exact number of bytes to be read for the interrupt. ? instead of reading the channel x task file register 0 r egister to retrieve the data, read the channel x read ahead data register. mdma/udma read/write operation once the sii 3114 is initialized via the initialization sequenc e described in the ?recommended initialization sequence for the SII3114 ? section, and the sata device has been in itialized for mdma/udma mode data transfer per the guidelines in the ?serial ata device initializat ion? section, dma read/write operations may be performed by following the programming sequence described below. issue a dma read/write command to the device following the steps in the ?issue ata command? section on page 76. program bus master registers clear bit 17 in the pci bus master ? channel x regist er. this bit is set if an error occurred during the previous dma access. clear bit 18 in the pci bus master ? channel x register . this bit is set if an interrupt occurred during the previous dma access.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 79 sii -ds-0103-d create a physical region descriptor (prd) table. a prd table is an array where each entry describes the location and size of a physical memory buffer that will be used during the dma operation. each prd table entry is 64-bits in length, formatted as follows; bits [31:0] contain the 32-bit starting address of the memory buffer, bits [47:32] contain the 16-bit size of the memory buffer, bits [62:48] are nor mally unused, bit 63 flags the end of the prd table and therefore should only be set in the last entry of the prd table. the prd table itself must be constructed in a memory region that can be directly accessed by the sii 3114 controller. once the prd table is built, the controller must be informed of its location. this is accomplished by writing the 32-bit address of the prd table to the prd table address ? channel x register. enable dma transfer. dma is enabled by writing bits [7:0] of the pci bus ma ster ? channel x register. bit 3 of this register controls the direction of the dma transfer; 1 = write to memory, 0 = read from memory. setting bit 0 of the register enables the controller to perform dma operations. note: task file registers are inaccessible as long as bit 0 is set. wait for a pci interrupt. when a pci interrupt occurs, read the pci master ? channel x status register and check the dma status bits. the possible combinations of the status bits [18:16] are defined below. 000 b = if the device does not report an error, then the prd table specified a size that is smaller than the transfer size. 001 b = dma transfer in progress. 010 b = the controller had a problem transferring data to/from memory. 100 b = normal completion. 101 b = if the device does not report an error, then the prd specified a size that is larger than the transfer size. make sure pci bus master operation of the sii 3114 is stopped by clearing bit 0 of the pci bus master ? channel x register. note: the task file registers are not accessible as long as bit 0 is set. clearing bit 0 causes bit 16 to be cleared as well. read the device status at bits [13:24] in the channel x task file register 1 register to clear the device interrupt (and the pci interrupt) and determine if there was error. write ?1? to bit 18 (dma comp) in the pci bus ma ster ? channel x register to clear the status. virtual dma read/write operation in virtual dma operation the controller uses a pio dat a transfer mode to move data between an ata/atapi device and the controller, and uses dma to move that same data between the controller and the host memory. for ata/atapi devices that cannot operate in a ?true? dma m ode, virtual dma provides two benefits; first, using dma to move data reduces the demand on the host cpu, and sec ond, systems that use virtual memory often require that data buffers that will be accessed directly by low level device drivers be ?mapped? into the operating system?s address space, in virtual dma mode the cpu does not access the data buffer directly, so the overhead of obtaining the mapping to operating syst em address space is eliminated. using virtual dma with non-dma capable devices once the sii 3114 is initialized via the initialization sequenc e described in the ?recommended initialization sequence for the SII3114 ? section, and the ata device has been initialized for pio mode data transfer per the guidelines in the ?serial ata device initialization? sect ion, virtual dma read/write operations may be performed by following the programming sequence described below. note: the watchdog timer feature is compatible with virtual dma operation. see section 0 for details about using the watchdog timer.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 80 ? 2007 silicon image, inc. issue a pio read/write command to the device following the steps in the ?issue ata command? section on page 76. read operation wait for a pci interrupt. read the dma status bits [18:16] of the pci bus mast er ? channel x register, and check that bit 18 is set to make sure the interrupt was generated by the expected channel. if expected channel interrupted, read bits [11:10] of the channel?s channel x task file timing + configuration + status register to determine the caus e of the interrupt. bit 11 is set if the ata/atapi device has an interrupt pending, bit 10 is set if a virtual dma operation completed. if a virtual dma operation completed, write 00 h to bits [7:0] of the pci bus master ? c hannel x register to disable dma operation. write 1 to bits [18:17] of the pci bus master ?channel x register to reset the dma status and virtual dma interrupt bits, and the pci interrupt. check the previously read dma status bits to ensure the dma completed successfully. because ata/atapi commands that transfer dat a using pio can generate several interrupts during the data transfer phase of the command, a race condition is created between the interrupt indicating the completion of a virtual dma operati on, and the interrupt from the ata/atapi device indicating it is ready to perform the next pa rt of the data transfer. to prevent missing an ata/atapi device interrupt due to this race condi tion, it is necessary to re-read the channel?s channel x task file timing + configuration + status register after disabling dma operation and examining bit 11. if bit 11 is set, the ata/atapi device is interrupting and should be serviced by following the steps below (assuming that the vi rtual dma operation completed successfully). if the ata/atapi device has interrupted, read the device status at bits [31:24] in the channel x task file register 1 register to clear the device interrupt and determine if there was an error. write 1 to bit 18 of the pci bus master ? channel x register to clear the dma complete bit (note: the dma complete bit acts as a latched copy of the ata interrupt line when the channel is not performing a dma operation). if the ata/atapi device is not reporting an error, and drq is asserted (bit 27 of channel x task file register 1), then the device is interrupting to transfer data to the host. to transfer the data, the dma registers are setup to only perform that part of the data transfer expected for this interrupt. the dma is setup similarly to t he way it is when performing a normal read dma command, but with one additional step. before the dma is enabled, the channel x virtual dma/pio read ahead byte count register must be wr itten with the 32-bit count of the number of bytes to be transferred for this interrupt. repeat the above steps until all data for the read command has been transferred or an error has been detected. write operation poll the channel x task file register 1 bits [31:24] unt il either bit 27 (drq) is set indicating the device is ready for write data transfer, or bit 24 (err) is se t indicating the device has detected an error with the write command. if no error, and drq is asserted (bit 27 of channel x task file register 1), then the device is waiting for write data transfer. to transfer the data, the dma regist ers are setup to only perform that part of the data transfer expected at this time. for example, a writ e sectors command would expect to transfer 1 sector (512 bytes), while a write multiple command would expec t to transfer the lesser of the number of sectors set by the set multiple mode command or the total num ber of sectors specified by the write multiple command. the dma is setup similarly to the way it is when performing a normal write dma command, but
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 81 sii -ds-0103-d with one additional step. before the dma is enabled, the channel x virtual dma/pio read ahead byte count register must be written with the 32-bit count of the number of bytes to be transferred. wait for a pci interrupt. read the dma status bits [18:16] of the pci bus mast er ? channel x register, and check that bit 18 is set to make sure the interrupt was generated by the expected channel. if expected channel interrupted, read bits [11:10] of the channel x task file timing + configuration + status register to determine the cause of the inte rrupt. bit 11 is set if the ata/atapi device has an interrupt pending, bit 10 is set if a virtual dma operation completed. if a virtual dma operation completed, write 00 h to bits [7:0] of the pci bus master ? c hannel x register to disable dma operation. write 1 to bits [18:17] of the pci bus master ?channel x register to reset the dma status and virtual dma interrupt bits, and pci interrupt. check the previously read dma status bits to ensure the dma completed successfully. because ata/atapi commands that transfer dat a using pio can generate several interrupts during the data transfer phase of the command, a race condition is created between the interrupt indicating the completion of a virtual dma operati on, and the interrupt from the ata/atapi device indicating it is ready to perform the next pa rt of the data transfer. to prevent missing an ata/atapi device interrupt due to this race condi tion, it is necessary to re-read the channel x task file timing + configuration + status regi ster after disabling dma operation and examining bit 11. if bit 11 is set, the ata/atapi device is interrupting and should be serviced by following the steps below (assuming that the virtual dma operation completed successfully). if the ata/atapi device has interrupted, read the device status at bits [31:24] in the channel x task file register 1 register to clear the device interrupt and determine if there was an error. write 1 to bit 18 of the pci bus master ? channel x register to clear the dma complete bit (note: the dma complete bit acts as a latched copy of the ata interrupt line when the channel is not performing a dma operation). if the ata/atapi device is not reporting an error, and drq is asserted (bit 27 of channel x task file register 1), then the device is interrupting to transfer data to the device. to transfer the data, the dma registers are setup to only perform that part of the data transfer expected for this interrupt. the dma is setup similarly to the way it is when performing a normal write dma command, but with one additional step. before the dma is enabled, the channel x virtual dma/pio read ahead byte count register must be wr itten with the 32-bit count of the number of bytes to be transferred for this interrupt. repeat the above steps starting at ?wait for pci in terrupt? until all data for the write command has been transferred or an error has been detected. using virtual dma with dma capable devices even though a device may be dma capable, there are at a/atapi commands that require that a pio mode be used to transfer data. for these commands, virtual dma c an be used to perform the data transfer. using virtual dma with an ata/atapi device that has already been conf igured to use dma for normal read/write operation is performed very much like the sequence described above for pio mode only devices, but with the following additional consideration: the data transfer mode ? channel x register associated with the ata/atapi device needs to be programmed for a pio type transfer mode before dma operation is enabled, and must be re- programmed with the dma/udma transfer type used during normal dma operation once the virtual dma operation is complete.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 82 ? 2007 silicon image, inc. second pci bus master registers usage in order to provide backward compatibility with existing dr ivers, the physical region descriptor (prd) tables used by the sii 3114 controller when performing dma transfers suffer the following limitations; a prd table entry cannot represent a memory area greater than 64k, nor can a prd table entry repres ent a memory area that spans a 64k address boundary. whenever dma is initiated via the pc i bus master ? channel x registers, the foregoing limitations are enforced by the sii 3114 controller. a feature known as large block transfer in the sii 3114 controller allows drivers to get around the 64k size and address limits of prd table entries ex pected by existing drivers. large blo ck transfer simplifies the creation of prd tables by reducing the number of table entries that need to be created and eliminating the need to make sure a memory region does not cross a 64k boundary. large block transfer mode is enabled whenever dma is initiated by writing to the pci bus master 2 ? channel x registers (base address 5, offset 10 h , 18 h , 210 h , or 218 h ). when performing dma in large block transfer mode, the sii 3114 controller interprets the fields of a prd table entry differently. in all other respects, dma interrupt gener ation, dma status bit interpretation, etc., large block transfer mode behaves identically to a non-large block transfer mode dma operation. table 27 describes the format of a prd table entry. table 27. physical region descriptor (prd) format bits function 31:0 32-bit starting address of the memory region. 47:32 when not operating in large block trans fer mode, this field specifies the size of the memory region. if the size of the memory region is greater than 64k, or crosses a 64k address boundary, then two or more prd table entries will need to be created to describe it. if operating in large block transfer mode, this field contai ns the least significant 16- bits of the size of the memory region. 62:48 if not operating in large block tr ansfer mode, this field is unused. if operating in large block transfer mode, this field contai ns the most significant 15- bits of the size of the memory region. 63 when set, this bit indicates that this is the last entry in the prd table.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 83 sii -ds-0103-d power management power management in the sii 3114 is controlled by the register bits described in table 28. table 28. power management register bits register bits description smisc pmchg bit 6 this bit reports a change in the power managem ent mode. it corresponds to the interrupt enabled by bit 26 of sien. smisc pmmode bits 5,4 these bits report the power management mode st atus: bit 5 corresponds to slumber mode; bit 4 to partial mode. a transition on either of these bi ts causes a power management mode change interrupt. serror w bit 18 comwake received from the serial ata bus smisc comwake bit 11 generates a comwake condition on the serial ata bus smisc pmreq bits 1,0 generates a request from the ho st for the device to go to a power management state; bit 1 corresponds to slumber mode; bit 0 corresponds to partial mode. these bits are effective regardless of the stat e of the hpmds bit. scontrol ipm bits 11-8 this bit field disables transitions to part ial or slumber power management states; bit 9 corresponds to slumber mode; bit 8 corresponds to partial mode. sstatus ipm bits 11-8 this bit field reports the power management state; ?0110? corresponds to slumber mode; ?0010? corresponds to partial mode. power management summary there are two power management modes: partial and slumber. these power management modes may be software initiated through the smisc register or device initiated from the serial ata device. transitions to and from either power management mode generate an interrupt, the power management mode change interrupt, which may be masked in the smisc register (bit 26). partial power management mode partial mode may be initiated by software through the smi sc register (bit 0). by setting the bit, the software causes pmreq_p primitives (power m anagement request ? partial) to be sent to the serial ata device, which will respond with either a pmack or pmnak. if a pmack is received the pa rtial mode is entered; a pmnak is ignored; the request remains asserted. the serial ata device may initiate partial mode. this is indicated by the reception of pmreq_p primitives from the device. software enables the acknowledgement of th is request by setting the ipm value in the scontrol register to ?00x1? if enabled, a pmack will be sent to the device; if not enabled, a pmnak will be sent. when the request is received and its acknowledgement is enabled, partial mode is entered. partial mode status is reported in both the sstatus register (?0010? in the ipm field) and the smisc register (bit 4). partial mode is cleared by setting the comwake bit in the smisc register. this will send a comwake signal to the device through the serial ata link to initiate a partial to on sequence. partial mode can also be cleared through receipt of oob signals from the device. slumber power management mode slumber mode may be initiated by software through the smisc register (bit 1). by setting the bit, software causes pmreq_s primitives to be sent to the serial ata device, which will respond with eit her a pmack or pmnak. if a pmack is received the slumber mode is entered. a pmnak is ignored; the request remains asserted. the serial ata device may initiate slumber mode. this is indicated by the reception of pmreq_s primitives. software enables the acknowledgement of this request by se tting the ipm value in the scontrol register to ?001x?.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 84 ? 2007 silicon image, inc. if enabled, a pmack will be sent to the device; if not enabled, a pmnak will be sent. when the request is received and its acknowledgement is enabled, slumber mode is entered. slumber mode status is reported in both the sstatus register (?0110? in the ipm field) and the smisc register (bit 5). slumber mode is cleared by setting the comwake bit in the smisc register. this will send a comwake signal to the device through the serial ata link to initiate a sl umber to on sequence. slumber mode can also be cleared through receipt of oob signals from the device. hot plug support the state diagram below illustrates the logic to support hot plugging. c r phyrdy periodically send comreset until cominit received normal operation g o_to_cr dp_phyrdy=0 d p_phyrdy=1 figure 10. hot plug logic state diagram the go_to_cr signal is generated by a timer if the internal logic fails to detect valid signals from the serial ata wire for 200 ns. logic behavior is as follows: 1. initial power-up ? a comreset is generated during in itial power up. if a device is present and operational, the phyrdy state will be entered. if a device is not present or not responding, the cr state will be entered and comreset will be generated every 100 ms. 2. device is unplugged ? the internal logic detects that no more signal is present on the serial ata wire. the timer will expire after 200 ns and go_to_cr will be asserted; the cr state will be entered and comreset will be generated every 100 ms. the internal phyrdy signal will go false causing an interrupt to the host driver (phyrdy change interrupt, bit 16 of serror register; enabled by bit 16 of sien register). 3. device is plugged in ? the device will respond to the comreset with a cominit. normal operation will commence and the internal logic will detect a phyrdy signal going true causing an interrupt to the host driver (phyrdy change interrupt, bit 16 of serror register; enabled by bit 16 of sien register).
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 85 sii -ds-0103-d fis support fis summary table 29 summarizes the implementation of fis support. note that 14 fis codes meet the criteria of fis code selection in serial ata, and 8 out of the 14 are already defined. table 29. fis summary fis code fis name host to device device to host comment 27h register (host to device) - support expanded registers hob not sent to device (devic e dongle ignores hob received) can be individually controlled via pci registers - default to reject 34h register (device to host) - support expanded registers host to device transmission is possible as transparent. can be individually controlled via pci registers - default to accept 39h dma activate - supported per serial ata specification. host to device transmission is possible as transparent. can be individually controlled via pci registers - default to accept 41h dma setup on reception, the first 7 dwords of any fis can be read directly by the pci. transmission: as transparent fis can be individually controlled via pci registers - default to reject 46h data supported per serial ata specification. can be individually controlled via pci registers - default to accept 58h bist activate support for reception of far-end retimed loopback. no transmission supported. can be individually controlled via pci registers - default to accept for far-end retimed loopback; default to reject for all other bist types 5fh pio setup - supported per serial ata specification. host to device transmission is possible as transparent. can be individually controlled via pci registers - default to accept a1h set device bits - supported per serial ata specification host to device transmission is possible as transparent can be individually controlled via pci registers - default to accept a6h reserved tbd tbd b8h reserved tbd tbd bfh reserved tbd tbd c7h reserved tbd tbd d4h reserved tbd tbd d9h reserved tbd tbd supported as one group of unrec ognized fis, together with other unsupported fises, such as "others" below, and fis code 27h in the reception direction. can be individually controlled via pci registers - default to reject others reserved tbd tbd supported as one gr oup of unrecognized fis, together with other unsupported fises (fis code 27h, a6h, b8h, bfh, c7h, d4h, d9h) in the reception direction. all "others" are controlled as a group via pci registers - default to reject
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 86 ? 2007 silicon image, inc. fis transmission there are two ways in which a fis transmission is initiated: 1. protocol-initiated fis transmission, e. g., when an ata command is written to the sii 3114 it will send a command register fis and expects some fis(es) (e.g ., pio setup, register, dma activate, data, set device bits). 2. transparent fis transmission. the sequence is as follows: ? host sets the transmit_fis bit in the smisc register (bit 30). this tells the transport/link logic that a transparent fis needs to be transmitted. ? the transport/link logic responds by setting itself up to transfer data from the host through umda cycles. ? the host writes the data through the pci interface. note that the fis header (dword 0 that contains the fis type) must also be written. the transport/lin k logic sends the fis to the device. note that: ? there is no size limit on a transparent fis. data written to the sii 3114 from setting of transmit_fis to setting of fis_done (see below) will be transmitted in a fis. ? there must be an even number of words. ? as in data fis, upon a transmission error, no retr ies can be supported. the pci block must restart the transparent fis transmission from the beginning. ? serial ata crc is calculated by the transport/link logic. the host will not append the crc at the end. ? after the last write, the host sets the fis_done bit in the smisc register (bit 31). this indicates to the link that all data for this transaction has been trans ferred. the transport/link logic will then close out the fis by appending crc and eof and wait for term ination. if r_ok is received from the downstream device, the transmit_ok bit will be set to indicate to the host that the fis has been successfully transferred to the device. if there is an error in the transmission process (e.g., the fis not recognized by the downstream device) result ing in the device acknowledging the fis with an r_err, the f bit of the serror register will be set (bit 25). ? the values of the status registers are latched and will not be cleared automatically. before the next transparent fis is being sent, the host must clear the status bits by performing a write to the particular status registers. fis reception the sii 3114 is capable of receiving unrecognized fis types through an interlocked fis scheme. this capability is over and above the regular protocol related fises as defined in the serial ata specifications. in general, an internal table determines the behavior when rece iving all possible fis types. this table is defined in the register sfiscfg. the configuration codes in the sfiscfg register is defined in table 30. table 30. configuration bits for fis reception fisxxcfg[1:0] comments 00b accept fis without interlock. if there is no error detected for the entire fis, r_ok will be sent after eof is received. if any error is re ceived, r_err will be sent after eof 01b reject fis without inte rlock. r_err will be sent 10b interlock. this allows the host to examine the first dwords of the fi s to determine whether to accept or reject the fis 11b reserved.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 87 sii -ds-0103-d table 31 shows the default configurations of all serial ata fis types. table 31. default fis configurations configuration bits fis code fis name register bits default value comments 27h register (host to device) fis27cfg[1:0] 01b default to reject fis without interlock. 34h register (device to host) fis34cfg[1:0] 00b default to accept fis without interlock. 39h dma activate fis39cfg[1:0] 00b defaul t to accept fis without interlock. 41h dma setup fis41cfg[1:0] 01b default to reject. 46h data fis46cfg[1:0] 00b default to accept fis without interlock. 58h bist activate fis58cfg[1:0] 00b defaul t to accept for far-end retimed loopback, reject for any other. 5fh pio setup fis5fcfg[1:0] 00b default to accept fis without interlock. a1h set device bits fisa1cfg[1:0] 00b def ault to accept fis without interlock. a6h reserved fisa6cfg[1:0] 01b default to reject fis without interlock. b8h reserved fisb8cfg[1:0] 01b default to reject fis without interlock. bfh reserved fisbfcfg[1:0] 01b default to reject fis without interlock. c7h reserved fisc7cfg[1:0] 01b default to reject fis without interlock. d4h reserved fisd4cfg[1:0] 01b default to reject fis without interlock. d9h reserved fisd9cfg[1:0] 01b default to reject fis without interlock. others reserved fisocfg[1:0] 01b default to reject fis without interlock. rxfis[0-6]- first seven dwords receiv ed from device. rxfis[0] is the firs t dword that contains the fis header. rxfis[6] is the last of the seven dwords received. it is enough to support dma setup fis. note that: ? fis data can also be read out directly from rxfis (first seven dwords). ? all data to be transferred must be sent within one udma burst. burst termination will not be allowed and may produce unpredictable result. ? there is no limit on received frame size. ? in a data fis, the receive fifo will autom atically advance one dword to skip the header. upon an interlocked fis, the fifo read pointer will rewind to the beginning so that the first dword read is the header. the following summarizes the behavior: on power up, the default conf igurations are as follows: ? all defined fises, except bist activate and dma se tup, default to be supported (fisxxcfg[1:0] = '00'). ? bist activate is default to be accepted only for far-end retimed loopback and to be rejected for any other bist types. ? dma setup defaults to be rejected. ? all undefined fises default to be rejected (fisxxcfg[1:0] = '01'). sequences: ? upon reception of an unsupported fis (fisxxcfg[1:0] = '01'), the link/transport logic responds with r_err to the downstream device. the host will not be notified. ? upon reception of a supported fis (fisxxcfg[1:0] = '00'), the link/transport logic responds with r_ok at wtrm (if no error is detected) or r_err (if an error is detected) to the downstream device. the host will be notified only as required by the protocol.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 88 ? 2007 silicon image, inc. ? upon reception of an interlocked fis (fisxxcfg[1 :0] = '10'), the link/transport logic sets the intrlckfis bit in the smisc register. the follo wing describes the possible sequence of events: ? sequence 1: the link logic will continue to receive data while its buffer is being filled up. intrlckfis will cause an interrupt to the host. the first 7 dwords of the fis are available to the host in the rxfis0 to rxfis6 registers.the driver will check the fis type, clean up the pci section, arm the dma controller, and then assert the rx _ifis bit in the smisc register. the link/transport logic transfers the received fis, including the header, through the pci interface to the host. when all the data is received with no errors, the link/transport logic will assert the ifis_ok bit in the smisc register. otherwise one of the error bits will be set in the serror register. the host will set the accept_ifis bit to acc ept or reject_ifis to reject the fis. if no error is detected inside the frame and the accept_ifis bit is asserted, the link/transport logic will send r_ok to the downstream device. if reject_ifis is asserted or any error is detected, the link/transport logic will respond with r_err. note that there is an interlock - if the frame is good, it will always wait for the accept_ifis or reject_ifis (i f not asserted already) before responding. ? sequence 2: link/transport logic will continue to receive data while its buffer is being filled up. intrlckfis will cause an interrupt to the host. host reads the header; the driver will c heck the fis type in rxfis register and knows that the entire fis is not larger than the size of rxfis0 to 6 register. host waits for ifis_ok (if any error detected ? the error signals). if ifis_ok is received, host reads all data directly via pci registers and then issues an accept_ifis (link/transport logic to send r_ok) or a reject_ifis (link/transport logic to send r_err). if any error is detected, host can ignore, the link will respond with r_err anyway.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 89 sii -ds-0103-d fis types not affiliated with current ata/atapi operations bist support far-end retimed loopback is supported in reception mode only. all other bist codes will be rejected via r_err. it defaults to be interlocked supported (for far-end retimed loopback only). the sii 3114 does not support any bist in transmission mode. t here is no provision to send the test patterns and compare against loopback data. bist signals when sii 3114 enters the bist operation, the ?phy offline? mode will be set in the det bits of the sstatus register. this conditoin will remain asserted until the host generates an ata reset (hreset_b asserted) or a cominit is received from the device. dma setup dma setup fis can only be sent as a transparent fis. on power up, dma setup fis defaults to be rejected. first party dma read of host memory by device sequence (fis41cfg[1:0] = '10', i.e. interlocked): device sends dma setup fis to host. the "d" field in the fis is '0'. the intrlckfis bit is set and c auses an interrupt to the host. the host driver checks the fis type (rxfis), sets up, and arms the dma controller. the host sets the dmaouten in the serial ata smisc register. the host sets the fpdmawr in the serial ata smisc register. the host sets the accept_fis bit to accept the fis. the host sends one or more data fises. note that no dma activate fis is required for first party dma. there is no need to report transfer status. the host clears the dmaouten when the transfer count is exhausted. first party dma write of host memory by device sequence (fis41cfg[1:0] = '10', i.e. interlocked): device sends dma setup fis to host. the "d" field in the fis is '1'. the intrlckfis bit is set and c auses an interrupt to the host. the host driver checks the fis type (rxfis), sets up, and arms the dma controller. the host sets the dmainen in the serial ata smisc register. the host sets the accept_fis bit to accept the fis. the device sends one or more data fises. there is no need to report transfer status. the host clears the dmainen when the transfer count is exhausted
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 90 ? 2007 silicon image, inc. ata command decoding data modes the sii 3114 pci to serial ata controller has an internal ata interface. the data modes (register mode, pio mode and dma mode) are of no significance. ata commands the sii 3114 decodes ata commands in hardware. t he commands supported include ata/atapi-5 and ata/atapi-6 commands, including the 48-bit lba ext ended commands. certain obsolesced commands are also supported. the supported commands are listed in table 32. table 32. ata commands supported command command/ features codes comment cfa erase sectors c0h - cfa request extended error code 03h - cfa translate sector 87h - cfa write multiple without erase cdh - cfa write sectors without erase 38h - check media card type d1h - check power mode e5h - configure stream 51h - device configuration freeze lock b1h/c1h - device configurati on identify b1h/c2h - device configuration restore b1h/c0h - device configuration set b1h/c3h - device reset 08h - download microcode 92h - execute device diagnostics 90h the two serial ata ports for sii 3114 are both "single masters". flush cache e7h flush cache ext eah 48-bit lba command format track 50h obsolesced vendor specific command, needs to be programmed as vendor specific commands get media status dah - identify device ech - identify packet device a1h - idle a3h - idle immediate e1h - initialize device parameters 91h obsolesced in ata/atapi-6. media eject edh - media lock deh - media unlock dfh - nop 00h - packet a0h - read buffer e4h - c8h - read dma c9h obsolesced command c ode supported, decoded as command code c8h read dma ext 25h 48-bit lba command read dma queued c7h -
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 91 sii -ds-0103-d table 32. ata commands supported (continued) command command/ features codes comment read dma queued ext 26h 48-bit lba command read log ext 2fh - 22h read long 23h obsolesced command support ed (see ?read/write long? section) read multiple c4h - read multiple ext 29h 48-bit lba command read native max address f8h - read native max address ext 27h 48-bit lba command 20h - read sector(s) 21h obsolesced command c ode supported, decoded as command code 20h read sector(s) ext 24h 48-bit lba command read stream dma 2a - 40h - read verify sector(s) 41h obsolesced command c ode supported, decoded as command code 40h read verify sector(s) ext 42h 48-bit lba command readfpdmaqueued 2ch - recalibrate 10h obsolesced command supported. security disable password f6h - security erase prepare f3h - security erase unit f4h - security freeze lock f5h - security set password f1h - security unlock f2h - seek 70h - service a2h - set features efh - set max address f9h/00h - set max address ext 37h 48-bit lba command set max freeze lock f9h/04h - set max lock f9h/02h - set max unlock f9h/03h obsolesced command supported. set max set password f9h/01h set multiple mode c6h the sii 3114 intercepts the command to set up the number of sectors for a drq block upon this command. sleep e6h - smart disable operations b0h/d9h - smart enable operations b0h/d8h - smart enable/disable attributes autosave b0h/d2h - smart execute off-line immediate b0h/d4h - smart read attribute thresholds b 0h/d1h obsolesced command supported. smart read data b0h/d0h - smart read log b0h/d5h - smart return status b0h/dah - smart save attribute values b 0h/d3h obsolesced command supported. smart write log b0h/d6h -
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 92 ? 2007 silicon image, inc. table 32. ata commands supported (continued) command command/ features codes comment standby e2h - standby immediate e0h - write buffer e8h - cah - write dma cbh obsolesced command c ode supported, decoded as command code cah write dma ext 35h 48-bit lba command write dma queued cch - write dma queued ext 36h 48-bit lba command write log ext 3fh - 32h write long 33h obsolesced command support ed (see ?read/write long? section) write multiple c5h - write multiple ext 39h 48-bit lba command 30h - write sector(s) 31h obsolesced command c ode supported, decoded as command code 30h write sector(s) ext 34h 48-bit lba command write stream dma 3ah - write stream pio 3bh - writefpdmaqueued 3ch - obsolesced commands certain obsolesced commands are supported. commands read long and write long are to be treated differently (see ?read/write long? section immediately following). read/write long read long and write long commands are implemented in accordance with the ata/atapi-3. the pio mode used (mode 0) is of no significance in the sii 3114, as the ata interface is inte rnal. the number of vendor specific bytes is provided by the serial ata pio set up fis from the downstream device as follows: n = ((xc - 512) + 1) 2 (i.e., xc - 512 divided by 2 with round up) where: n is the number of vendor specific bytes. xc is the transfer count. the total number of data dwords in the data fis is given by: m = (xc + 3) 4 (i.e., xc divided by 4 with round up) where: m is the number of data dwords in the data fis, excluding the fis header (and crc). xc is the transfer count. in this command, the data fis must use the format described in table 33.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 93 sii -ds-0103-d table 33. data fis dword byte 3 byte 2 byte 1 byte 0 0 data fis header 1 sector data byte 3 sector data byte 2 sector data byte 1 sector data byte 0 2 sector data byte 7 sector data byte 6 sector data byte 5 sector data byte 4 3 ... 126 - - - - 127 sector data byte 507 sector data byte 506 sector data byte 505 sector data byte 504 128 sector data byte 511 sector data byte 510 sector data byte 509 sector data byte 508 129 don't care vendor specific byte 1 don't care vendor specific byte 0 130 don't care vendor specific byte 3 don't care vendor specific byte 2 ... - - - - last (n is even) don't care vendor specific by te n-1 don't care vendor specific byte n-2 last (n is odd) don't care don't care don't care vendor specific byte n-1 note: (the number of vendor specific bytes is "n" as determined by the transfer count in the pio setup fis) vendor specific command support the sii 3114 supports most vendor specific comm ands that utilize existing protocols. silicon image's vendor specific commands silicon image defines several vendor specific commands (all of which use expanded features in 48-bit lba addressing) to support vendor s pecific and reserved commands: ? vs unlock vendor specific: unlock the host or device to support vendor specific commands. ? vs unlock reserved: unlock the host or device to support reserved commands. ? vs unlock individual: unlock the host or device to support individual vendor specific and reserved commands. ? vs lock: lock the host or device to abort all vendor specific and reserved commands. ? vs set general protocol: determine the general protocol code to be used for all subsequent vendor specific commands (if unlocked via a vs unlock v endor specific command) and reserved commands (if unlocked via a vs unlock reserved command). ? vs set command protocol: select protocols for i ndividual vendor specific and reserved commands (if unlocked via a vs unlock individual command). a command protocol table shall be maintained. potential conflicts with other vendor specific commands the commands chosen use subcommand (features) c ode f1h under the smart command (b0h). while this code is not expected to be used by device manufacturers, ther e is always the possibility that it is used. if such conflict happens, the device manufacturers shall reassign a new code to the conflicting command in order to use this scheme. other expanded features codes the commands above do not use all expanded features c odes. however, all other expanded features codes under command code b0h and subcommand (features) code f1h are reserved as silicon image vendor specific commands.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 94 ? 2007 silicon image, inc. vendor specific, reserved, retired and obsolesced commands these types of commands are treated differently: ? vendor specific commands: expect fo r those commands whose protocols are individually set (via the vs unlock individual and vs set command protocol commands ), the host or device must be unlocked via the vs unlock vendor specific command before such comm ands can be issued. otherwise, vendor specific commands are aborted. ? reserved commands: expect for those commands whose protocols are individually set (via the vs set unlock individual and vs set command protocol commands ), the host or device must be unlocked via the vs unlock reserved command before such commands can be issued. otherwise, reserved commands are aborted. ? obsolesced and retired commands: implementation of such commands is optional. definitions ? command - unless otherwise stated, this is the value written to the ata command register. ? command code - this is the code corresponding to the ata command. it is also a field in the command protocol table. ? command protocol table - the table that contains the individual vendor specific and reserved commands supported (see on page 108). ? features - unless otherwise stated, this is t he value written to the ata features register. ? features code - this is the code corresponding to the ata features register. it is also a field in the command protocol table. ? features mask - this is a field in the command protoc ol table that allows several features codes to be used for the same command. ? general protocol code - on a vs set general prot ocol command after a vs unlock vendor specific or vs unlock reserved command, the general protocol c ode shall be set as the protocol for all undefined vendor specific (if unlocked) and/or undefined re served (if unlocked) commands. an undefined vendor specific/reserved command is one that does not have an entry in the command protocol table. ? protocol code - this code determines the protocol a ssociate with a command. it is also a field in the command protocol table. ? subcommand code - same as features code. ? vs features set - the commands needed to support th is scheme (see ?bridge device vendor specific commands? section on page 96 for more details.). ? vs state machine - the state machine that determi nes what vendor specific and reserved commands are to be supported (see ?state transitions? section on page 109 for more details.). scheme reset upon any hardware reset or the serial ata comreset, or cominit, the vs state machine shall be initialized to the locked state (the "default" state), which s hall abort all vendor specific and reserved commands. soft reset (via device control register bit 2) shall not affect the vs state machine.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 95 sii -ds-0103-d operation the following summarizes how the vendor specific/reser ved commands are supported. detailed operations are described in later sections. the default state is locked. all vendor specific commands shall be aborted. unlock: ? to unlock the serial ata host or device to suppor t vendor specific commands: issue a vs unlock vendor specific command. a serial ata host supporting the vs scheme will also send this command to the serial ata device. if the downstream serial ata device is a bridge, the device bridge may optionally issue this command to the attached parallel ata device. note that the unlock will take effect in the serial ata host and the serial ata device even if an abort status is reported. ? to unlock the serial ata host or device to support reserved commands: issue a vs unlock reserved command. a serial ata host supporting the vs scheme will also send this command to the serial ata device. if the downstream serial ata device is a br idge, the device bridge may optionally issue this command to the attached parallel ata device. note that the unlock will take effect in the serial ata host and the serial ata device even if an abort status is reported. ? to support individual vendor specific or rese rved command: issue a vs unlock individual command. combinations of the above can be supported by simply issuing the appropriate combinations of vs unlock vendor specific, vs unlock reserved and vs unlock individual commands. set protocol. there are two wa ys to set up protocol(s): ? issue a vs set command protocol command to set up a protocol for a specific command. the information is logged in a command protocol table. this protocol shall remain valid until overwritten by a vs set command protocol command that overwrites the co mmand protocol table entry, the vs lock command, hardware reset, comreset, or cominit. a serial at a host supporting the vs scheme will also send this command to the serial ata device. if the downstream se rial ata device is a bridge, the device bridge may optionally issue this command to the attached parallel ata device. note that the protocol shall be set in the serial ata host and the serial ata device even if an abort status is reported. if more than one command protocol has to be set up, a vs set command protocol shall be issued for each command. ? issue a vs set general protocol command to set the general protocol code for the next vendor specific command. this protocol shall remain valid until the next vs set general protocol command, vs lock command, hardware reset, comreset, or cominit. a serial ata host supporting the vs scheme will also send this command to the serial ata device. if the dow nstream serial ata device is a bridge, the device bridge may optionally issue this command to the attached parallel ata device. note that the protocol shall be set in the serial ata host and the serial ata dev ice even if an abort status is reported. commands already set up via the vs set command protocol sha ll follow the protocol set in the vs set command protocol command instead of the one set in this command. issue any commands: ? any vendor specific commands (if unlocked for v endor specific commands) or reserved commands (if unlocked for reserved commands) that has an associat ed protocol set via the vs set command protocol command shall be executed using that protocol. ? any vendor specific commands (if unlocked for v endor specific commands) or reserved commands (if unlocked for reserved commands) that does not have an a ssociated protocol, i.e. not set up by the vs set command protocol command, shall be executed using t he protocol loaded from the latest vs set general protocol command. ? other supported commands shall follow the predefined protocols. ? other unsupported commands shall be aborted. to change the protocol for vendor spec ific commands, simply reissue the vs set general protocol or the vs set command protocol command with the new protocol. when done, issue the vs lock command to return to the default vs state. a serial ata host supporting the vs scheme will also send the vs lock command to the serial ata device. if the downstream serial ata device is a bridge, the device bridge may optionally issue this comm and to the attached parallel ata device. note that the lock will take effect in the serial ata host and the se rial ata device even if an abort status is reported.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 96 ? 2007 silicon image, inc. bridge device vendor specific commands feature set/command summary table 34. vendor specific command summary command command code features code expanded features code description vs lock b0h f1h d5h return vs state machine to vs_locked (see ?state transitions? section on page 109.). vs unlock vendor specific b0h f1h 12h unlock vs state machine to support vendor specific commands. vs unlock reserved b0h f1h 22h unlock vs state machine to support reserved commands. vs unlock individual b0h f1h 32h unlock vs state machine to support reserved commands. vs set general protocol b0h f1h f0h set the general protocol code for all vendor specific commands and reserved commands, if the corresponding command types are unlocked. the vendor specific and rese rved commands that are individually set via vs set command protocol commands will not follow the protocol set by this command. vs set command protocol b0h f1h 87h set protoc ol for an individual vendor specific or reserved command. the information is logged in a command protocol table entry. b0h f1h other than above reserved. compared with other features sets, the vs features set i gnores the bit 0 (err) in the status register together with the error register. all commands are consider ed completed once bsy = 0 and drdy = 1 in the status register.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 97 sii -ds-0103-d vs lock command/subcommand/expanded features code command code: b0h subcommand (features) code: f1h expanded features code: d5h protocol non-data (ext) inputs register 7 6 5 4 3 2 1 0 current f1h features previous (expanded) d5h current na sector count previous (expanded) na current na lba low previous (expanded) na current na lba mid previous (expanded) na current na lba high previous (expanded) na device obs na obs dev 1 na na na na command b0h 1. the dev bit usage in the serial ata specification must be followed. outputs register 7 6 5 4 3 2 1 0 error na na na na na na na na current na sector count previous (expanded) na current na lba low previous (expanded) na current na lba mid previous (expanded) na current na lba high previous (expanded) na device obs na obs dev 1 na na na na status bsy drdy na na na na na na 2 1. the dev bit usage in the serial ata specification must be followed. 2. error bit shall be ignored. completion is determined by by bsy = 0 and drdy = 1 only.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 98 ? 2007 silicon image, inc. feature set mandatory for all serial ata components supporting the vs feature set. description this command locks the host and device bridges from suppor ting vendor specific comm ands. all vendor specific and reserved commands issued afterwards will be aborted. a serial ata host, native or bridge, supporting the vs lo ck command shall use the non-data (ext) protocol with this command. the serial ata host shall send this comm and to the serial ata device. the following situations may happen: case 1: the serial ata device (native or bridge) res ponds with a completed status. both sides are set up to support this scheme. case 2: the serial ata device bridge supports this schem e. it may optionally pass this command to a parallel ata device: ? if passed to a parallel ata device, the parallel at a device responds with an abort status, which may be reported back to the serial ata host. ? if not passed to a parallel ata device, the device br idge shall still respond with a device-to-host register fis to terminate bsy in the serial ata host. however, both the serial ata host and the serial at a device bridge shall ignore the abort status and shall consider the vs block locked. the serial ata device is a native device and responds with an abort. the serial ata host will ignore the abort status and shall consider the vs block locked. in other words, regardless of the status reported (abor ted or complete), the serial ata host and device that support this scheme shall be locked.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 99 sii -ds-0103-d vs unlock vendor specific command/subcommand/expanded features code command code: b0h subcommand (features) code: f1h expanded features code: 12h protocol non-data (ext) inputs register 7 6 5 4 3 2 1 0 current f1h features previous (expanded) 12h current na sector count previous (expanded) na current na lba low previous (expanded) na current na lba mid previous (expanded) na current na lba high previous (expanded) na device obs na obs dev 1 na na na na command b0h 1. the dev bit usage in the serial ata specification must be followed. outputs register 7 6 5 4 3 2 1 0 error na na na na na na na na current na sector count previous (expanded) na current na lba low previous (expanded) na current na lba mid previous (expanded) na current na lba high previous (expanded) na device obs na obs dev 1 na na na na status bsy drdy na na na na na na 2 1. the dev bit usage in the serial ata specification must be followed. 2. error bit shall be ignored. completion is determined by by bsy = 0 and drdy = 1 only.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 100 ? 2007 silicon image, inc. feature set mandatory for all serial ata components supporting the vs feature set. description this command unlocks the host and device bridges to suppor t vendor specific commands . once this command is executed, the bridge(s) shall remain unlocked until: ? a vs lock command that returns the vs state to the default locked state, or; ? a hardware reset, or cominit or comreset. note that the vs unlock individual command, the vs unlock reserved command and soft reset have no effect on the vs state. if a vs unlock individual command is issued afterwards, t he bridge(s) shall be unlocked for both individual vendor specific/reserved commands and ot her vendor specific commands. if a vs unlock reserved command is issued afterwards, the bridge(s) shall be unlocked for both vendor specific and reserved commands. if both vs unlock individual and vs unlock reserved are iss ued afterwards, the bridge(s) shall be unlocked for individual vendor specific/reserv ed commands, as well as other vendor specific and reserved commands. a serial ata host, native or bridge, supporting the vs unlock vendor specific command shall use the non-data (ext) protocol with this command. the serial ata host shall send this command to the serial ata device. the following situations may happen: case 1: the serial ata device (native or bridge) res ponds with a completed status. both sides are set up to support this scheme. case 2: the serial ata device bridge supports this scheme. it may optionally pass this command to a parallel ata device: ? if passed to a parallel ata device, the parallel ata device responds with an abort status, which may be reported back to the serial ata host. ? if not passed to a parallel ata device, the devic e bridge shall still respond with a device-to-host register fis to terminate bsy in the serial ata host. however, both the serial ata host and the serial at a device bridge shall ignore the abort status and shall consider the unlock event successful. the serial ata device is a native device and responds with an abort. the serial ata host will ignore the abort status and shall consider the unlock event successful. in other words, regardless of the status reported (abor ted or complete), the serial ata host and device that support this scheme shall be unlocked to support vendor specific commands.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 101 sii -ds-0103-d vs unlock reserved command/subcommand/expanded features code command code: b0h subcommand (features) code: f1h expanded features code: 22h protocol non-data (ext) inputs register 7 6 5 4 3 2 1 0 current f1h features previous (expanded) 22h current na sector count previous (expanded) na current na lba low previous (expanded) na current na lba mid previous (expanded) na current na lba high previous (expanded) na device obs na obs dev 1 na na na na command f0h 1. the dev bit usage in the serial ata specification must be followed. outputs register 7 6 5 4 3 2 1 0 error na na na na na na na na current na sector count previous (expanded) na current na lba low previous (expanded) na current na lba mid previous (expanded) na current na lba high previous (expanded) na device obs na obs dev 1 na na na na status bsy drdy na na na na na na 2 1. the dev bit usage in the serial ata specification must be followed. 2. error bit shall be ignored. completion is determined by by bsy = 0 and drdy = 1 only.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 102 ? 2007 silicon image, inc. feature set optional for all serial ata components supporting the vs feature set. description this command unlocks the host and device bridges to support reserved commands. once this command is executed, the bridge(s) shall remain unlocked until: ? a vs lock command that returns the vs state to the default locked state, or; ? a hardware reset, or cominit or comreset. note that the vs unlock vendor specific command, the vs unlock individual command and soft reset have no effect on the vs state. if a vs unlock vendor specific command is issued afterwar ds, the bridge(s) shall be unlocked for both reserved and vendor specific commands. if a vs unlock individual command is issued afterwards, t he bridge(s) shall be unlocked for both individual vendor specific/reserved command protoc ols and other reserved commands. if both vs unlock vendor specific and vs unlock individual are issued afterwards, the bridge(s) shall be unlocked for individual vendor specific/reserved comm and protocols, as well as other vendor specific and reserved commands. a serial ata host, native or bridge, supporting the vs unlock reserved command shall use the non-data (ext) protocol with this command. the serial ata host shall send this command to the serial ata device. the following situations may happen: case 1: the serial ata device (native or bridge) res ponds with a completed status. both sides are set up to support this scheme. case 2: the serial ata device bridge supports this scheme. it may optionally pass this command to a parallel ata device: ? if passed to a parallel ata device, the parallel ata device responds with an abort status, which may be reported back to the serial ata host. ? if not passed to a parallel ata device, the devic e bridge shall still respond with a device-to-host register fis to terminate bsy in the serial ata host. however, both the serial ata host and the serial at a device bridge shall ignore the abort status and shall consider the unlock event successful. the serial ata device is a native device and responds with an abort. the serial ata host will ignore the abort status and shall consider the unlock event successful. in other words, regardless of the status reported (abor ted or complete), the serial ata host and device that support this scheme shall be unlo cked to support reserved commands.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 103 sii -ds-0103-d vs unlock individual command/subcommand/expanded features code command code: b0h subcommand (features) code: f1h expanded features code: 32h protocol non-data (ext) inputs register 7 6 5 4 3 2 1 0 current f1h features previous (expanded) 32h current na sector count previous (expanded) na current na lba low previous (expanded) na current na lba mid previous (expanded) na current na lba high previous (expanded) na device obs na obs dev 1 na na na na command f0h 1. the dev bit usage in the serial ata specification must be followed. outputs register 7 6 5 4 3 2 1 0 error na na na na na na na na current na sector count previous (expanded) na current na lba low previous (expanded) na current na lba mid previous (expanded) na current na lba high previous (expanded) na device obs na obs dev 1 na na na na status bsy drdy na na na na na na 2 1. the dev bit usage in the serial ata specification must be followed. 2. error bit shall be ignored. completion is determined by by bsy = 0 and drdy = 1 only.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 104 ? 2007 silicon image, inc. feature set optional for all serial ata components supporting the vs feature set. description this command unlocks the host and device bridges to support individual vendor specific and reserved commands. once this command is executed, t he bridge(s) shall remain unlocked until: ? a vs lock command that returns the vs state to the default locked state, or; ? a hardware reset, or cominit or comreset. note that the vs unlock vendor specific command, the vs unlock reserved command and soft reset have no effect on the vs state. if a vs unlock vendor specific command is issued afterwar ds, the bridge(s) shall be unlocked for both individual command protocols and other vendor specific commands. if a vs unlock reserved command is issued afterwards, the bridge(s) shall be unlocked for both individual vendor specific/reserved comm and and other reserved commands. if both vs unlock vendor specific and vs unlock reserv ed are issued afterwards, the bridge(s) shall be unlocked for individual vendor specific/reserved comm and, as well as other vendor specific and reserved commands. a serial ata host, native or bridge, supporting the vs unlock individual command shall use the non-data (ext) protocol with this command. the serial ata host shall send this command to the serial ata device. the following situations may happen: case 1: the serial ata device (native or bridge) res ponds with a completed status. both sides are set up to support this scheme. case 2: the serial ata device bridge supports this scheme. it may optionally pass this command to a parallel ata device: ? if passed to a parallel ata device, the parallel ata device responds with an abort status, which may be reported back to the serial ata host. ? if not passed to a parallel ata device, the devic e bridge shall still respond with a device-to-host register fis to terminate bsy in the serial ata host. however, both the serial ata host and the serial at a device bridge shall ignore the abort status and shall consider the unlock event successful. the serial ata device is a native device and responds with an abort. the serial ata host will ignore the abort status and shall consider the unlock event successful. in other words, regardless of the status reported (abor ted or complete), the serial ata host and device that support this scheme shall be unlocked to support individual vendor specif ic/reserved commands.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 105 sii -ds-0103-d vs set general protocol command/subcommand code/expanded features code command code: b0h subcommand (features) code: f1h expanded features code: f0h protocol non-data (ext) inputs register 7 6 5 4 3 2 1 0 current f1h features previous (expanded) f0h current na sector count previous (expanded) protocol code (s ee ?protocols summary? section) current na lba low previous (expanded) na current na lba mid previous (expanded) na current na lba high previous (expanded) na device obs na obs dev1 na na na na command b0h 1. the dev bit usage in the serial ata specification must be followed. outputs register 7 6 5 4 3 2 1 0 error na na na na na na na na current na sector count previous (expanded) na current na lba low previous (expanded) na current na lba mid previous (expanded) na current na lba high previous (expanded) na device obs na obs dev 1 na na na na status bsy drdy na na na na na na 2 1. the dev bit usage in the serial ata specification must be followed. 2. error bit shall be ignored. completion is determined by by bsy = 0 and drdy = 1 only.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 106 ? 2007 silicon image, inc. feature set mandatory for all serial ata components supporting the vs feature set. description if the vs state is unlocked for vendor specific or for re served, this command will set the general protocol code for the next vendor specific/reserv ed command(s), except for those individually set via the vs set command protocol commands. the protocol shall be, or return to, abort (protocol code = 00h) upon a lock event, i.e.: ? a vs lock command to return the vs state to the default locked state, or; ? a hardware reset, or cominit or comreset. the general protocol shall be passed to the serial at a host and device via the expanded sector count register. the protocols and codes are described in table 45 through table 48. a serial ata host, native or bridge, supporting the vs se t general protocol command shall use the non-data (ext) protocol with this command. the serial ata host shall send this command to the serial ata device. the following situations may happen: case 1: the serial ata device (native or bridge) res ponds with a completed status. both sides are set up to support this scheme. case 2: the serial ata device bridge supports this scheme. it may optionally pass this command to a parallel ata device: ? if passed to a parallel ata device, the parallel ata device responds with an abort status, which may be reported back to the serial ata host. ? if not passed to a parallel ata device, the devic e bridge shall still respond with a device-to-host register fis to terminate bsy in the serial ata host. however, both the serial ata host and the serial at a device bridge shall ignore the abort status and shall consider the protocol set. the serial ata device is a native device and responds with an abort. the serial ata host will ignore the abort status and shall consider the protocol set. in other words, regardless of the status reported (abor ted or complete), the serial ata host and device that support this scheme shall acc ept the protocol as valid.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 107 sii -ds-0103-d vs set command protocol command/subcommand/expanded features code command code: b0h subcommand (features) code: f1h expanded features code: 87h protocol non-data (ext) inputs register 7 6 5 4 3 2 1 0 current f1h features previous (expanded) 87h current 0 0 0 0 code tag sector count previous (expanded) protocol code (s ee ?protocols summary? section) current command code lba low previous (expanded) na current features code lba mid previous (expanded) features mask current 00h lba high previous (expanded) 00h device obs na obs dev 1 na na na na command b0h 1. the dev bit usage in the serial ata specification must be followed. outputs register 7 6 5 4 3 2 1 0 error na na na na na na na na current na sector count previous (expanded) na current na lba low previous (expanded) na current na lba mid previous (expanded) na current na lba high previous (expanded) na device obs na obs dev 1 na na na na status bsy drdy na na na na na na 2 1. the dev bit usage in the serial ata specification must be followed. 2. error bit shall be ignored. completion is determined by by bsy = 0 and drdy = 1 only.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 108 ? 2007 silicon image, inc. feature set optional for all serial ata components supporting the vs feature set. description if the vs state is unlocked for individual vendor specific /reserved commands, this command will set the protocol for the specific commands. up to 16 individual v endor specific/reserved co mmands are supported via a command protocol table. the 16 entries are organized as shown in table 35. table 35. 16-entry command protocol table code tag (entry #) command code features code features mask protocol code 0h - - - - 1h - - - - ... - - - - eh - - - - fh - - - - when a vendor specific or reserved command is issued, its command and features registers will be compared against all of the above entries. if the following conditions are all met, the protocol for that entry will be used: ? command = command code, and; ? (features features code) & features mask = 00h. note that: only reserved and vendor specific commands shall be mapped to protocol as above. if a vendor specific or reserved command is mapped to more than one entry, the result is indeterminate. upon a lock event, all command codes shall be initializ ed to nop (00h) and all protocol codes shall be initialized to abort (00h). the following conditions are considered lock events: ? a vs lock command to return the vs state to the default locked state, or; ? a hardware reset, or cominit or comreset. the registers shown in table 36 are used when i ssuing the command (but have no meaning for outputs) table 36. registers used when issuing vs set command register bit(s) field description 7-4 0h must be 0h. reserved for expansion if more than 16 individual vendor specific /reserved commands are supported. current 3-0 code tag up to 16 individual vendor specific/reserved commands are supported. this code tag is to select which of the 16 entries the code is to be writt en to. earlier content in that entry shall be replaced with the new information. sector count previous (expanded) 7-0 protocol code see ?protocols summary? section. current 7-0 command code the command register value for the individual vendor specific/reserved command. lba low previous (expanded) 7-0 na not used. current 7-0 features code t he features register val ue for the individual vendor specific/reserved command. lba mid previous (expanded) 7-0 features mask one si ngle protocol can be assigned to a group of commands with the same command code but different features codes. if a features mask bit is '0', the corresponding features code bit will be ignored for comparison. current 7-0 00h reserved fo r expanded features code. lba high previous (expanded) 7-0 00h rese rved for expanded features mask.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 109 sii -ds-0103-d a serial ata host, native or bridge, supporting the vs set command protocol command shall use the non-data (ext) protocol with this command. the serial ata host shall send this command to the serial ata device. the following situations may happen: case 1: the serial ata device (native or bridge) res ponds with a completed status. both sides are set up to support this scheme. case 2: the serial ata device bridge supports this scheme. it may optionally pass this command to a parallel ata device: ? if passed to a parallel ata device, the parallel ata device responds with an abort status, which may be reported back to the serial ata host. ? if not passed to a parallel ata device, the devic e bridge shall still respond with a device-to-host register fis to terminate bsy in the serial ata host. however, both the serial ata host and the serial at a device bridge shall ignore the abort status and shall consider the protocol set. the serial ata device is a native device and responds with an abort. the serial ata host will ignore the abort status and shall consider the protocol set. in other words, regardless of the status reported (abor ted or complete), the serial ata host and device that support this scheme shall acc ept the protocol as valid. state transitions table 37 through table 44 describe the state transitions of the sii 3114. table 37. default state - vs_locked vs_locked vendor specific/reserved comm ands not supported. a ll vendor specific and reserved commands shall result in an abort status. general protocol code shall be 00h. command protocol table initialized with all command codes = 00h and all protocol codes = 00h. 1 received vs unlock vendor specific command vs_vs 2 received vs unlock reserved command vs_rsv 3 received vs unlock individual command vs_ind 4 otherwise vs_locked table 38. vs_vs vs_vs on vs set general protocol co mmand, set general protocol code. commands other than vendor specific or reserved commands shall be executed according to the predefined protocol. all vendor specific commands sha ll be executed according to the general protocol code. all reserved commands shall result in an abort status. 1 received vs unlock reserved command vs_vs_rsv 2 received vs unlock individual command vs_vs_ind 3 received vs lock command vs_locked 4 otherwise vs_vs
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 110 ? 2007 silicon image, inc. table 39. vs_rsv vs_rsv on vs set general protocol co mmand, set general protocol code. commands other than vendor specific or reserved commands shall be executed according to the predefined protocol. all reserved commands shall be exec uted according to the general protocol code. all vendor specific commands sha ll result in an abort status. 1 received vs unlock vendor specific command vs_vs_rsv 2 received vs unlock individual command vs_rsv_ind 3 received vs lock command vs_locked 4 otherwise vs_rsv table 40. vs_ind vs_ind on vs set command protocol command, update the corresponding command protocol table entry. commands other than vendor specific or reserved commands shall be executed according to the predefined protocol. all vendor specific/reserved comm ands with entries in the command protocol table shall be executed acco rding to the protocol code in the corresponding command protocol entry. all other commands shall re sult in an abort status. 1 received vs unlock reserved command vs_vs_rsv 2 received vs unlock individual command vs_vs_ind 3 received vs lock command vs_locked 4 otherwise vs_ind table 41. vs_vs_rsv vs_vs_rsv on vs set general protocol command, set general protocol code. commands other than vendor specific or reserved commands shall be executed according to the predefined protocol. all vendor specific/reserved commands shall be executed according to the general protocol code. 1 received vs unlock individual command vs_vs_rsv_ind 2 received vs lock command vs_locked 3 otherwise vs_vs_rsv table 42. vs_vs_ind vs_vs_ind on vs set general protocol command, set general protocol code. on vs set command protocol command, update the corresponding command protocol table entry. commands other than vendor specific or reserved commands shall be executed according to the predefined protocol. all vendor specific/reserved comm ands with entries in the command protocol table shall be executed acco rding to the protocol code in the corresponding command protocol entry. all other vendor specific commands shall be executed according to the general protocol code. all other commands shall re sult in an abort status. 1 received vs unlock reserved command vs_vs_rsv_ind 2 received vs lock command vs_locked 3 otherwise vs_vs_ind
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 111 sii -ds-0103-d table 43. vs_rsv_ind vs_rsv_ind on vs set general protocol command, set general protocol code. on vs set command protocol command, update the corresponding command protocol table entry. commands other than vendor specific or reserved commands shall be executed according to the predefined protocol. all vendor specific/reserved comm ands with entries in the command protocol table shall be executed acco rding to the protocol code in the corresponding command protocol entry. all reserved commands shall be exec uted according to the general protocol code. all other commands shall re sult in an abort status. 1 received vs unlock vendor specific command vs_vs_rsv_ind 2 received vs lock command vs_locked 3 otherwise vs_rsv_ind table 44. vs_vs_rsv_ind vs_vs_rsv_ind on vs set general protocol command, set general protocol code. on vs set command protocol command, update the corresponding command protocol table entry. commands other than vendor specific or reserved commands shall be executed according to the predefined protocol. all vendor specific/reserved comm ands with entries in the command protocol table shall be executed acco rding to the protocol code in the corresponding command protocol entry. all other vendor specific/reser ved commands shall be executed according to the general protocol code. 1 received vs lock command vs_locked 2 otherwise vs_vs_rsv_ind
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 112 ? 2007 silicon image, inc. protocols summary the protocol encoding scheme is described in table 45. table 45. protocol code encoding scheme protocol code protocol codes defined bit assignment 00h abort 00h - 01h-3fh a2h-afh b3h-bfh e0h-efh f1h-ffh - - reserved 40h-4fh - - vendor specific 80h-8fh c0h-cfh (1x00xxxxb) pio data in/out 80h, 81h, 82h, 87h, 88h, 89h, 8ah, 8bh, 8fh, c0h, c2h, c8h, cah bit 6: 0 - legacy addressing 1 - 48-bit lba addressing bit 3: 0 - data in (read) 1 - data out (write) bits 2-0: 000b - sector count is given by the sector count register. 001b - only one sector, sector count is ignored. 010b - blocks of multiple sector s, e.g., read/write multiple. 011b - sector count is given by sector number and sector count registers, e.g. download microcode. 100b-110b - reserved 111b - 512 plus vendor specific bytes, e.g. read/write long. 90h-9fh d0h-dfh (1x01xxxxb) dma 90h, 91h, 98h, 99h, d0h, d1h, d8h, d9h bit 6: 0 - legacy addressing 1 - 48-bit lba addressing bit 3: 0 - data in (read) 1 - data out (write) bits 2-1: 00b - currently defined 01b-11b - reserved. bit 0: 0 - not queued. 1 - queued. a0h packet a0h - a1h service a1h - b0h,f0h (1x110000b) non-data b0h, f0h bit 6: 0 - legacy addressing 1 - 48-bit lba addressing b1h execute device diagnostic b1h - b2h device reset b2h - descriptions of vendor specific protocol codes are described in table 46 and table 47.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 113 sii -ds-0103-d table 46. vendor specific protocol code (in alphabetical order) protocol protocol code description abort 00h abort command. status =51h and error = 04h. command shall not be passed to downstream device(s). device reset b2h device reset protocol. execute device diagnostic b1h execute device prot ocol (for host bridges arranged in master-slave configuration, both s hall respond regardless of the dev bit in the device register. non-data b0h non-data protocol. non-data (ext) f0h non-data (ext) protocol. packet a0h packet protocol. pio data in (read multiple) 82h pio da ta in protocol for reading blocks of multiple sectors, e.g., read multiple. pio data in (read multiple, ext) c2h pio data in protocol for reading bl ocks of multiple sectors for 48-bit lba commands, e.g., read multiple ext. pio data in (sectors) 80h pio data in protocol , sector count is given by the sector count register. pio data in (sectors, ext) c0h p io data in protocol for 48-bit l ba commands, sector count is given by the sector count register. pio data in (single sector) 81h pio data in protocol, only one se ctor, sector count is ignored. pio data out (download microcode) 8bh pio data out prot ocol, sector count is given by sector number and sector count registers. pio data out (sectors) 88h pio data out protocol , sector count is given by the sector count register. pio data out (sectors, ext) c8h p io data out protocol for 48-bit l ba commands, sector count is given by the sector count register. pio data out (single sector) 89h pio data out protocol, only one sector, sector count is ignored. pio data out (write multiple) 8ah p io data out protocol for writing blo cks of multiple sectors, e.g., write multiple. pio data out (write multiple , ext) cah pio data out protocol for writ ing blocks of multiple sectors for 48-bit lba commands, e.g., write multiple ext read dma 90h read dma protocol. read dma (ext) d0h read dma protocol for 48-bit lba commands. read dma queued 91h read dma queued protocol. read dma queued (ext) d1h read dm a queued for 48-bit lba commands. read long 87h pio data in protocol, 512 plus vendor specific byte s, e.g. read long. service a1h service protocol. write dma 98h write dma protocol. write dma (ext) d8h write dma pr otocol for 48-bit lba commands. write dma queued 99h write dma queued protocol. write dma queued (ext) d9h write dma queued for 48-bit lba commands. write long 8fh pio data out protocol, 512 plus vendor specific bytes, e.g. write long
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 114 ? 2007 silicon image, inc. table 47. vendor specific protocol code (by protocol code) protocol code protocol description 00h abort abort command. status = 51h and error = 04h. command shall not be passed to downstream device(s). 80h pio data in (sectors) pio data in protocol , sector count is given by the sector count register. 81h pio data in (single sector) pio data in protocol, only one se ctor, sector count is ignored. 82h pio data in (read multiple) pio da ta in protocol for reading blocks of multiple sectors, e.g., read multiple. 87h read long pio data in protocol, 512 plus vendor specific bytes, e.g. read long. 88h pio data out (sectors) pio data out protocol , sector count is given by the sector count register. 89h pio data out (single sector) pio data out protocol, only one sector, sector count is ignored. 8ah pio data out (write multiple) pio data out protocol for writing blocks of multiple sectors, e.g., write multiple. 8bh pio data out (download microcode) pio data out prot ocol, sector count is given by sector number and sector count registers. 8fh write long pio data out protocol, 512 pl us vendor specific bytes, e.g. write long 90h read dma read dma protocol. 91h read dma queued read dma queued protocol. 98h write dma write dma protocol. 99h write dma queued write dma queued protocol. a0h packet packet protocol. a1h service service protocol. b0h non-data non-data protocol. b1h execute device diagnostic execute device prot ocol (for host bridges arranged in master-slave configuration, both s hall respond regardless of the dev bit in the device register. b2h device reset device reset protocol. c0h pio data in (sectors, ext) p io data in protocol for 48-bit l ba commands, sector count is given by the sector count register. c2h pio data in (read multiple, ext) pio data in protocol for reading bl ocks of multiple sectors for 48-bit lba commands, e.g., read multiple ext. c8h pio data out (sectors, ext) pio data out protocol for 48-bi t lba commands, sector count is given by the sector count register. cah pio data out (write mult iple, ext) pio data out protocol for writ ing blocks of multiple sectors for 48-bit lba commands, e.g., write multiple ext d0h read dma (ext) read dma protocol for 48-bit lba commands. d1h read dma queued (ext) read dm a queued for 48-bit lba commands. d8h write dma (ext) write dma pr otocol for 48-bit lba commands. d9h write dma queued (ext) write dma queued for 48-bit lba commands. f0h non-data (ext) non-data (ext) protocol.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 115 sii -ds-0103-d table 48. vendor specific protocol code (in alphabetical order) protocol protocol code command examples abort 00h any unsupported commands device reset b2h device reset execute device diagnostic b1h execute device diagnostics non-data b0h cfa erase sectors, cfa request extended error code, check media card type, check power mode, device configuration restore, device configuration freeze lock, flush cache, get media status, idle, idle immediat e, initialize device parameters, media eject, media lock, media unlock, nop, read native max address, read verify sector(s), readfpdmaqueued, recalibrate, security erase prepar e, security freeze lock, seek, set features, set max address, set max lock, set max freeze lock, set multiple mode, sleep, smart disable operations,smart enable/disable attributes autosa ve, smart enable operations, smart execute off-line immediate, smart return status, smart save attribute values, standby, standby immediate, writefpdmaqueued non-data (ext) f0h configure stream, flush cache extended, read native max address ext, read verify secto r(s) ext, set max address ext packet a0h packet pio data in (read multiple) 82h read multiple pio data in (read multiple, ext) c2h read multiple ext pio data in (sectors) 80h read sector(s), smart read log pio data in (sectors, ext) c0h read log ext, read sector(s) ext, read stream pio pio data in (single sector) 81h cfa trans late sector, cleanupandrequestsense, device configuration identify, identify device, identify packet device, read buffer, security set passwor d, security unlock, set max set password, smart read attribute thresholds, smart read data pio data out (download microcode) 8bh download microcode pio data out (sectors) 88h cfa write sector s without erase, smart write log, write sector(s) pio data out (sectors, ext) c8h write sector(s) ext pio data out (single sector) 89h device configur ation set, security disable password, security erase unit, write buffer pio data out (write multiple) 8ah cfa writ e multiple without er ase, write multiple pio data out (write mu ltiple, ext) cah write log ext, writ e multiple ext, write stream pio read dma 90h read dma read dma (ext) d0h read dma ext, read stream dma read dma queued 91h read dma queued read dma queued (ext) d1h read dma queued ext read long 87h read long service a1h service write dma 98h write dma write dma (ext) d8h write dma ext, write stream dma write dma queued 99h write dma queued write dma queued (ext) d9h write dma queued ext write long 8fh write long
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 116 ? 2007 silicon image, inc. reading and writing of task file and device control registers 48-bit lba addressing the sii 3114 supports 48-bit lba. the sii 3114 does not differentiate a non-extended command (one that does not use 48-bit lba address) from an extended command (one that uses the 48-bit lba address). the "expanded" registers can be read with the hob bit of the device control register se to '1'. device control register and soft reset when the device control register is written, a regist er fis for control will be sent downstream upon one of the following conditions: ? there is a change in the srst bit, or; ? with srst bit being '0', there is a change in the nien bit. note that: ? when the srst is '1', the nien bit in the register fis sent is insignificant. ? any change in the hob bit will not initiate any register fis to be sent. in fact, hob bit is always '0' in the register fis sent. ? if the serial ata channel is in partial or slumber state, a comwake will be automatically initiated to wake up the channel before the register fis is sent. ho wever, the channel will stay at the on state at the end of the operation, even if no soft reset occurs. a soft reset will do the following: ? wake up the downstream serial ata dev ice from ata idle, standby or sleep. led support the sii 3114 supports four activity leds via four 12ma open-drain drivers led[0..3]. le d0 is to indicate activity in channel 0; led1 in channel 1; led2 in channel 2; and led3 in channel3. when there is activity for a non- atapi device, as indicated by: ? bsy in the ata status being set, or; ? any bit in the serial ata sactive register being set ? the corresponding led driver outputs will be driven low. there is no activity led support for atapi device. if the downstream device is an atapi device, the corresponding led output will not be driven low.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 117 sii -ds-0103-d flash and eeprom programming sequences flash memory access the sii 3114 supports an external flash memory device up to 4 mbit in capacity. access to the flash memory is available through two means: pci di rect access and register access. pci direct access access to the expansion rom is enabled by setting bit 0 in the expansion rom base address register at offset 30h of the pci configuration space. when this bit is set, bits [31:19] of the same register are programmable by the system to set the base address for all flash memo ry accesses. read and write operations with the flash memory are initiated by memory read and memory writ e commands on the pci bus. accesses may be as bytes, words, or dwords. register access this type of flash memory access is carried out through a sequence of internal regist er read and write operations. the proper programming sequences are detailed below. flash write operation verify that bit 25 is cleared in the register at of fset 50h of base address 5. the bit reads one when a memory access is currently in progress. it reads zero when the memory access is complete and ready for another operation. program the write address for the flash memory access. the address field is defined by bits [18:00] in the flash memory address ? command + status register. program the write data for the flash memory access. t he data field is defined by bits [07:00] in the flash memory data register at offset 54 of base address 5. program the memory access type. the memory acce ss type is defined by bit 24 in the flash memory address ? command + status register. the bit must be cleared for a memory write access. initiate the flash memory access by setting bit 25 in the flash memory address ? command + status register. flash read operation verify that bit 25 is cleared in the flash memory address ? command + status register at offset 50 h of base address 5. the bit reads one when a memory a ccess is currently in progress. it reads zero when the memory access is complete and ready for another operation. program the read address for the flash memory access. the address field is defined by bits [18:00] in the flash memory address ? command + status register. program the memory access type. the memory acce ss type is defined by bit 24 in the flash memory address ? command + status register. the bit must be set for a memory read access. initiate the flash memory access by setting bit 25 in the flash memory address ? command + status register. verify that bit 25 is cleared in the flash memory address ? command + status register. the bit reads one when a memory access is currently in progress. it reads zero when the memory access is complete. read the data from the flash memory access. the dat a field is defined by bits [07:00] in the flash memory data register at offset 54 h of base address 5.
sii 3114 pci to serial ata controller data sheet silicon image, inc. sii -ds-0103-d 118 ? 2007 silicon image, inc. eeprom memory access the sii 3114 supports an external 256-byte eeprom memory device. access to the eeprom memory is available through internal register operations in the sii 3114. eeprom write operation verify that bit 25 is cleared in the eeprom memory address ? command + status register at offset 58 h of base address 5. the bit reads one when a memory access is currently in progress. it reads zero when the memory access is complete and ready for another operation. write ?1? to clear bit 28 in the eeprom memory address ? command + status register. the bit is set if an error occurred during a previous memory access. program the write address for the eeprom memory acce ss. the address field is defined by bits [07:00] in the eeprom memory address ? command + status register. program bits [15:08] to zero. program the write data for the eeprom memory access. the data field is defined by bits [07:00] in the eeprom memory data register at offset 5c h of base address 5. program the memory access type. the memory acce ss type is defined by bit 24 in the eeprom memory address ? command + status register. the bit must be cleared for a memory write access. initiate the eeprom memory access by setting bi t 25 in the eeprom memory address ? command + status register. poll bit 25 in the eeprom memory address ? command + status register. the bit reads one when a memory access is currently in progress. it reads zero when the memory access is complete. check bit 28 in the eeprom memory address ? command + status register. the bit is set if an error occurred during a previous memory access. eeprom read operation verify that bit 25 is cleared in the eeprom memory address ? command + status register at offset 58 h of base address 5. the bit reads one when a memory access is currently in progress. it reads zero when the memory access is complete and ready for another operation. write ?1? to clear bit 28 in the eeprom memory address ? command + status register. the bit is set if an error occurred during a previous memory access. program the read address for the eeprom memory acce ss. the address field is defined by bits [07:00] in the eeprom memory address ? command + status register. program bits [15:08] to zero. program the memory access type. the memory acce ss type is defined by bit 24 in the eeprom memory address ? command + status register. the bit must be set for a memory read access. initiate the eeprom memory access by setting bi t 25 in the eeprom memory address ? command + status register. poll bit 25 in the eeprom memory address ? command + status register. the bit reads one when a memory access is currently in progress. it reads zero when the memory access is complete. check bit 28 in the eeprom memory address ? command + status register. the bit is set if an error occurred during a previous memory access. read the data from the eeprom memory access. the data field is defined by bits [07:00] in the eeprom memory data register at offset 5c h of base address 5.
sii 3114 pci to serial ata controller data sheet silicon image, inc. ? 2007 silicon image, inc. 119 sii -ds-0103-d disclaimers these materials are provided on an ?as is? basis. silicon im age, inc. and its affiliates disclaim all representations and warranties (express, implied, statutory or otherwise), including but not limited to: (i) all implied warranties of merchantability, fitness for a particular purpose, and/or non- infringement of third party rights; (ii) all warranties arising out of course-of-dealing, usage, and/or trade; and (iii) all warranties that the information or results provided in, or that may be obtained from use of, the materials ar e accurate, reliable, complete, up-to-date, or produce specific outcomes. silicon image, inc. and its affiliates assume no liability or responsibility for any errors or omissions in these materials, makes no commitment or wa rranty to correct any such errors or omissions or update or keep current the information contained in these ma terials, and expressly disclaims all direct, indirect, special, incidental, consequential, reliance and punitive damages, including without limitation any loss of profits arising out of your access to, use or interpretati on of, or actions taken or not taken based on the content of these materials. silicon image, inc. and its affiliates reserv e the right, without notice, to periodica lly modify the information in these materials, and to add to, delete, and/or change any of this information. notwithstanding the foregoing, these materials shall not, in the absence of authorization under u.s. and local law and regulations, as required, be used by or exported or re-exported to (i) any u.s. sanctioned or embargoed country, or to nationals or residents of such countries; or (ii) any person, entity, organization or other party identified on the u.s. department of commerce's denied persons or entity list, the u.s. department of treasury's specially designated nationals or blocked persons list, or the department of state's debarred parties list, as published and revised from time to time; (iii) any party engaged in nuc lear, chemical/biological weapons or missile proliferation activities; or (iv) any party for us e in the design, development, or production of rocket systems or unmanned air vehicles. products and services the products and services described in these materials, and any other information, se rvices, designs, know-how and/or products provided by silicon image, inc. and/or its af filiates are provided on as ? as is? basis, except to the extent that silicon image, inc. and/or its affiliates provides an applicable written limited warranty in its standard form license agreements, standard terms and conditions of sale and service or its other applicable standard form agreements, in which case such limited warranty s hall apply and shall govern in lieu of all other warranties (express, statutory, or implied). except for such limited warranty, silicon image, inc. and its affiliates disclaim all representations and warranties (express, implied, statutory or otherwise), regarding the information, ser vices, designs, know-how and products provided by silicon image, inc. and/or its affiliates, including but not limited to, all implied warranties of merchantability, fitness for a particular purpose, and/or non- infringement of third party rights. you acknowledge and agree that such information, services, designs, know-h ow and products have not been designed, tested, or manufactured for use or resale in systems where the failure, malfunction, or any inaccuracy of these items carries a risk of death or serious bodily injury, including, but not limited to, use in nuclear facilities, aircraft navigation or communication, emergency systems, or other systems with a similar degree of potential hazard. no person is authorized to make any other warranty or representation concerning the performance of the information, products, know- how, designs or services other than as pr ovided in these terms and conditions. 1060 e. arques avenue sunnyvale, ca 94085 t 408.616.4000 f 408.830.9530 www.siliconimage.com


▲Up To Search▲   

 
Price & Availability of SII3114

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X